我的输入是一个文件名,一些例子:
/some/file/path/thefooisgood.txt
/some/file/path/thisfooisalsogood.txt
/some/file/path/thisfooalsohasbar.txt
我想查找/允许包含子字符串的所有文件名/路径foo
只要字符串中没有子字符串bar
。
子字符串bar
可能出现在文件路径中的任何位置,不一定总是在foo
之后,有时可能位于路径名中,而不仅仅是文件名中。foo
也是如此。我似乎做不好。
您可以使用基于前瞻的负正则表达式,如下所示:
^(?!.*bar).*foo
正则表达式演示
详:
(?!.*bar)
:断言我们在输入中没有bar
.*foo
:在输入中的任何位置匹配foo