рубрика

Jan 26, 2011 18:39

Не выдержала душа поэта :)
Открываю этим постом рубрику "странного кода", попадающегося на глаза при работе.

copy to clipboard

  1. class RegExFilenameFilter implements FilenameFilter {   
  2.    private Pattern pattern;   
  3.   
  4.    public RegExFilenameFilter(String regex) {   
  5.        pattern = Pattern.compile(buildRegEx(regex));   
  6.    }   
  7.   
  8.    @Override   
  9.    public boolean accept(File dir, String name) {   
  10.        return pattern.matcher(name).matches();   
  11.    }   
  12.   
  13.    private String buildRegEx(String regex) {   
  14.        StringBuffer sb = new StringBuffer();   
  15.        for (int i = 0; i < regex.length(); ++i) {   
  16.            char c = regex.charAt(i);   
  17.            if (c == '*') {   
  18.                sb.append(".*");   
  19.            } else if (c == '.') {   
  20.                sb.append("\\.");   
  21.            } else {   
  22.                sb.append(c);   
  23.            }   
  24.        }   
  25.        sb.insert(0, "^");   
  26.        sb.append("$");   
  27.        return sb.toString();   
  28.    }   

говнокод

Previous post Next post
Up