10

我正在尝试匹配以列表中任何字符串开头的文件路径。这就是我正在使用的:

^/(dir1|dir2|dir3|tmp|dir4)/

我也在尝试匹配所有以开头/tmp/但不包含special之后的路径。

这应该匹配:

/tmp/subdir/filename.ext

但这不应该:

/tmp/special/filename.ext

我似乎找不到完成这项工作的方法。任何建议将不胜感激。

4

3 回答 3

7

尝试这个

^((?:dir1|dir2|dir3|dir4|tmp(?!/special)).*)$

正则表达式可视化

调试演示

于 2013-11-05T12:49:23.703 回答
7

尝试^(?i)/(dir1|dir2|dir3|tmp(?!\/(special))|dir4)/.*

(?i)= 不区分大小写,这将匹配特殊、特殊、特殊等。

(?!\/(special))=负前瞻'/special'

于 2013-11-05T12:56:23.597 回答
1

尝试这个^(dir1|dir2|dir3|tmp(?!\/special)|dir4)

于 2013-11-05T12:55:02.150 回答