Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正则表达式:允许包含“";"富",;但如果同一个字符串也包含“;酒吧;_Python_Regex - Fatal编程技术网

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如果你把你的解决方案写下来作为答案,我会认为它是好的拇指:谢谢!