匹配路径但不是os.path

时间:2016-10-15 13:28:28

标签: python regex python-2.7

我希望匹配字符串path,但不匹配字符串os.path。我该怎么做?试过(?!(os\.path))\bpath\b,但我仍然得到所有os.path S

2 个答案:

答案 0 :(得分:1)

您可以使用基于后视的正则表达式,例如

(?<!os\.)\bpath\b

这基本上与确切的单词path匹配,并确保其前面没有os.如果您想避免类似的结构,例如sys.pathxx.path,您可以使用(?<!\w\.)代替了后视。

请参阅regex101 demo

答案 1 :(得分:0)

如果您想从path尝试

开始跳过任何.

(?<!\.)path

这将跳过sys.pathos.path,但会与path匹配。

e.g。如果测试字符串是if path and not os.path.sep in path

匹配将是:

如果path而不是path

中的os.path.sep

请参阅Chakra

上的演示