📄 regexpfilefilter.java
字号:
package jodd.file.filters;
import java.io.File;
import java.io.FileFilter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import jodd.util.StringFlags;
import jodd.util.StringUtil;
/**
* FileFilter that matches files with use of Regular Expression.
*
* Here are some tips for regular expressions:
* <ul>
* <li>.* : matches any number of character</li>
* <li>.? : matches zero or one character</li>
* </ul>
*
* For more details check the <code>FileFilterAbs</code> documentation.
*
* @see jodd.file.filters.FileFilterAbs
*/
public class RegExpFileFilter extends FileFilterAbs {
// ---------------------------------------------------------------- construction
/**
* Regular Expression file filter.
*/
public RegExpFileFilter(String pattern, String opt) {
super(pattern, opt);
}
/**
* Regular Expression file filter with default behaviour.
*
* @param pattern pattern
*/
public RegExpFileFilter(String pattern) {
super(pattern);
}
/**
* Regular Expression file filter with no behaviour and that may
* be configured later.
*/
public RegExpFileFilter() {
super();
}
// ---------------------------------------------------------------- speed optimization
private Pattern regexpPattern = null;
/**
* Sets the new pattern. It overrides default method because of speed
* optimization.
*
* @param p pattern
*/
public void setPattern(String p) {
super.setPattern(p);
if (pattern != null) {
regexpPattern = Pattern.compile(pattern);
}
}
// ---------------------------------------------------------------- FileFilterAbs.match()
/**
* Regular expression matching.
*
* @param file File to match.
*
* @return <code>true</code> if file name matches regular expression pattern,
* <code>false</code> otherwise.
*/
public boolean match(File file) {
Matcher matcher = regexpPattern.matcher(getFileName(file)); // regexp match
return matcher.matches();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -