【发布时间】:2013-08-27 22:19:39
【问题描述】:
我正在尝试使用 FilenameFilter 过滤文件以 grep 目录中的文件。
% ls -1
DirFilter.class
DirList.class
DirList.java
doctors.txt
node.l
rels.l
我正在尝试过滤 node.l 和 rels.l。当且仅当两个文件都存在时,过滤器才会成功。
我在 debuggex.com 上尝试了我的正则表达式,它似乎按预期工作: http://www.debuggex.com/embed/CZgVeUE2iWsNfRNG
我的正则表达式:(?s)node.l.?(?=(rels.l))
但是当我通过DirList.java过滤器运行它时它不起作用..
% java DirList "(?s)node.l.?(?=(rels.l))"
<no-output>
现在我正在使用 Thinking in Java 中的 DirList.java http://www.cs.odu.edu/~cs476/tijava2/c10/DirList.java
有什么想法吗?
【问题讨论】:
-
我在链接中的代码中没有看到
DirFilter类中的任何正则表达式方法。return f.indexOf(afn) != -1;不使用正则表达式。
标签: java regex lookahead filefilter