匹配.jsf网页

时间:2014-08-15 13:10:53

标签: regex regex-negation

我有以下列表,我想过滤掉所有除了指向的项目(以.jsf结尾的项目,并且在第一个位置只包含一个/ ):

/js/jquery.js
/contact.jsf   <------
/css/master.css
/index.jsf     <------
/js/Framework.js
/be.xa.resource/file-a-koe.jsf

这是我最初的尝试:

^(.(?!.png\.css))*$
\/(.*)[^.jsf]

3 个答案:

答案 0 :(得分:2)

以下正则表达式将与/index.jsf/contact.jsf行匹配,

^\/[^\/]*?\.jsf$

DEMO

<强>解释

  • ^断言我们刚开始。
  • \/匹配/符号。
  • [^\/]*?任何不属于/符号的字符的非贪婪匹配为零次或多次。
  • \.jsf匹配字符串.jsf
  • $断言我们到底。

答案 1 :(得分:1)

根据您的规范,匹配模式应该像^/[^/]*.jsf$一样简单。

好吧也许可以使用/

转义\/

您可能需要将其与其他命令一起包装以满足您的确切目的,这对我来说并不是很清楚。

答案 2 :(得分:1)

这是一个正则表达式,它匹配除突出显示的行之外的所有内容:

^(?!/[^/]+\.jsf).+$

(与gm选项一起使用)

演示:http://regex101.com/r/gX7xU3/1

如果您只想匹配突出显示的行,请改为使用此行:

^/[^/]+\.jsf$

演示:http://regex101.com/r/kO1lJ3/1