【发布时间】:2017-11-02 01:49:34
【问题描述】:
是否存在不包含给定单词但匹配另一个模式的正则表达式?
我有一个简单的模式,如下所示,用于在我正在使用的解析器中抓取单词。
field = re.compile(r"[a-zA-Z0-9]+")
解析器可以很好地确定某个东西是变量还是函数,但我遇到了一个问题,它抓取了使用 end 关键字的关闭代码块。
foo = 3
end if <-- end is a keyword and should not be counted as a variable
有没有办法更新正则表达式以匹配它当前匹配的所有单词,除了单词 end?
foo 将是匹配项。
zh 将是匹配的。
end 将 匹配。
endx 将是匹配项。
【问题讨论】:
-
\b(?!end\b)[a-zA-Z0-9]+怎么样? -
看起来它可以满足我的需求。谢谢!我将不得不阅读 \b。
标签: regex regex-negation