我正在尝试使用" .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/SecuredPage1/|/MyProject/public/js/page/SecuredPage2/|/MyProject/public/less/page/SecuredPage1/)
EDIT1:
我看到的另一个问题是,这似乎没有看到/MyProject/public/js/page/SecuredPage2/securedPage2.js
未正确读取,我的if语句在此检查时变为假。
我的问题是我实际上并不确定我的文件/目录是否正确,因为通过试图匹配目录的if语句会出现错误。我是新手使用正则表达式
答案 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/SecuredPage1)/.*\\.(jsp|less|css|png|js)$
^.*
表示从头开始匹配任何0次或更多次(老实说,你甚至可能不需要这部分才能工作)。 ^
意味着开始,$
意味着结束。
/.*\\.
表示匹配正斜杠任何点。例如。如果我们遗漏/MyProject/public/less/page/SecuredPage1/qwerty.
(jsp|less|css|png|js)
就会匹配