我的输入是文件名,一些示例:
/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
关于python - 正则表达式:允许包含 "foo"的字符串,但如果同一字符串也包含 "bar",则不允许,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51774253/