我有以下列表,我想过滤掉所有除了指向的项目(以.jsf
结尾的项目,并且在第一个位置只包含一个/
):
/js/jquery.js
/contact.jsf <------
/css/master.css
/index.jsf <------
/js/Framework.js
/be.xa.resource/file-a-koe.jsf
这是我最初的尝试:
^(.(?!.png\.css))*$
\/(.*)[^.jsf]
答案 0 :(得分:2)
以下正则表达式将与/index.jsf
和/contact.jsf
行匹配,
^\/[^\/]*?\.jsf$
<强>解释强>
^
断言我们刚开始。\/
匹配/
符号。[^\/]*?
任何不属于/
符号的字符的非贪婪匹配为零次或多次。\.jsf
匹配字符串.jsf
$
断言我们到底。 li>
答案 1 :(得分:1)
根据您的规范,匹配模式应该像^/[^/]*.jsf$
一样简单。
好吧也许可以使用/
\/
您可能需要将其与其他命令一起包装以满足您的确切目的,这对我来说并不是很清楚。
答案 2 :(得分:1)
这是一个正则表达式,它匹配除突出显示的行之外的所有内容:
^(?!/[^/]+\.jsf).+$
(与gm
选项一起使用)
演示:http://regex101.com/r/gX7xU3/1
如果您只想匹配突出显示的行,请改为使用此行:
^/[^/]+\.jsf$