排除匹配的正则表达式

时间:2016-08-25 22:55:36

标签: regex

我正在尝试学习如何构建一个refular表达式,该表达式匹配/fs下除/fs/a.txt/fs/b.txt之外的所有路径。此正则表达式需要以^开头,并以$结尾。我已经查看了其他表达式来匹配排除特定字符串的模式,但它们不限于开始/结束正则表达式。我如何构建我需要的正则表达式?

1 个答案:

答案 0 :(得分:1)

您可以使用放弃技术,使用SKIP和FAIL等动词(仅在PCRE中支持)。

你可以有这样的正则表达式:

/fs/[ab]\.txt(*SKIP)(*FAIL)|/fs/.*

<强> Working demo

如果你没有PCRE引擎,那么你可以在开头放置你想要丢弃的模式,并为你想要的模式设置捕获组,如下所示:

/fs/[ab]\.txt|(/fs/.*)

<强> Working demo

显示想法的示例图

Regular expression visualization

当然,您必须使用组索引1

从capturin组中获取内容