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正则表达式实现条件查询有所帮助。
【编辑推荐】