Java Regex在多个目录中查找文件

时间:2014-03-12 04:13:15

标签: java regex file

我正在尝试使用" .js"," .less"," .jsp"和" .png&#34查找文件;文件,同时也在许多不同的目录中检查它们,例如" /MyProject/public/someSecurePage.jsp" ;," / MyProject / public / js / page / SecuredPage1 /" ," / MyProject / public / js / page / SecuredPage2 /"," / MyProject / public / less / page / SecuredPage1 /"

我正在使用someString.macthes(regexString)

现在我有两个单独的正则表达式,但我不确定它们是否正确:

档案退出

.*?\\.(jsp|less|css|png|js)$

目录/文件

EDIT1:

.*?\\.(/MyProject/public/someSecurePage.jsp|/MyProject/public/js/page/SecuredPag‌​e1/|/MyProject/public/js/page/SecuredPage2/|/MyProject/public/less/page/SecuredPa‌​ge1/)

EDIT1:

我看到的另一个问题是,这似乎没有看到/MyProject/public/js/page/SecuredPage2/securedPage2.js未正确读取,我的if语句在此检查时变为假。

我的问题是我实际上并不确定我的文件/目录是否正确,因为通过试图匹配目录的if语句会出现错误。我是新手使用正则表达式

1 个答案:

答案 0 :(得分:2)

我认为这是你想要的完整正则表达式。如果您只想在“/ MyProject / public / someSecurePage /”,“/ MyProject / public / js / page / SecuredPage1 /”,“/ MyProject / public / js / page / SecuredPage2”和“/ MyProject /”中查找文件public / less / page / SecuredPa ge1 /“with extensions”jsp“,”less“,”css“,”png“和”js“。

^.*(/MyProject/public/someSecurePage|/MyProject/public/js/page/SecuredPag‌ e1|/MyProject/public/js/page/SecuredPage2|/MyProject/public/less/page/SecuredPa‌​ge1)/.*\\.(jsp|less|css|png|js)$

^.*表示从头开始匹配任何0次或更多次(老实说,你甚至可能不需要这部分才能工作)。 ^意味着开始,$意味着结束。

/.*\\.表示匹配正斜杠任何点。例如。如果我们遗漏/MyProject/public/less/page/SecuredPa‌​ge1/qwerty.

(jsp|less|css|png|js)就会匹配