Python 正则表达式:允许包含“";"富",;但如果同一个字符串也包含“;酒吧;
我的输入是一个文件名,例如:Python 正则表达式:允许包含“";"富",;但如果同一个字符串也包含“;酒吧;,python,regex,Python,Regex,我的输入是一个文件名,例如: /some/file/path/thefooisgood.txt /some/file/path/thisfooisalsogood.txt /some/file/path/thisfooalsohasbar.txt 我想查找/允许包含子字符串foo的所有文件名/路径,只要该字符串中不包含子字符串bar 子字符串bar可能出现在文件路径的任何位置,不一定总是在foo之后,有时可能出现在路径名中,而不仅仅是文件名中。这同样适用于foo。我似乎无法正确理解它。您可以使
/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
^(?。*bar)。*foo
或查看此演示:C#?Perl?JavaScript?对不起,我忘了提这个。我正在使用python。我正在我的整个项目中测试anubhava的反应。到目前为止,它似乎解决了我的问题@anubhava如果你把你的解决方案写下来作为答案,我会认为它是好的拇指:谢谢!