Java正則表達式實現條件查詢實例是如何的呢?我們在實際開發的過程中會碰到這樣子的實際需求,那麼我們來看看具體的實現過程,希望對你有所幫助。
Java正則表達式實現條件查詢實例:
//Java正則表達式實現條件查詢的要求:以正則條件查詢指定目錄下文件
//用於緩存文件列表
private ArrayList files = new ArrayList();
//用於承載文件路徑
private String _path;
//用於承載未合並的正則公式
private String _regexp;
class MyFileFilter implements FileFilter {
/**
* 匹配文件名稱
*/
public boolean accept(File file) {
try {
Pattern pattern = Pattern.compile(_regexp);
Matcher match = pattern.matcher(file.getName());
return match.matches();
} catch (Exception e) {
return true;
}
}
}
/**
* 解析輸入流
* @param inputs
*/
FilesAnalyze (String path,String regexp){
getFileName(path,regexp);
}
//Java正則表達式實現條件查詢
/**
* 分析文件名並加入files
* @param input
*/
private void getFileName(String path,String regexp) {
//目錄
_path=path;
_regexp=regexp;
File directory = new File(_path);
File[] filesFile =
directory.listFiles(new MyFileFilter());
if (filesFile == null) return;
for (int j = 0; j < filesFile.length; j++) {
files.add(filesFile[j]);
}
return;
}
/**
* 顯示輸出信息
* @param out
*/
public void print (PrintStream out) {
Iterator elements = files.iterator();
while (elements.hasNext()) {
File file=(File) elements.next();
out.println(file.getPath());
}
}
//Java正則表達式實現條件查詢
public static void output(
String path,String regexp) {
FilesAnalyze fileGroup1 =
new FilesAnalyze(path,regexp);
fileGroup1.print(System.out);
}
public static void main (String[] args) {
output("C:\\","[A-z|.]*");
}
Java正則的功用還有很多,事實上只要是字符處理,就沒有正則做不到的事情存在。
Java正則表達式實現條件查詢的相關操作就向你介紹到這裡,希望對你了解和學習Java正則表達式實現條件查詢有所幫助。