Java正则表达式实现条件查询浅析

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|.]*");  



}  

相关推荐