【发布时间】:2021-04-26 16:20:08
【问题描述】:
我制作了这个正则表达式来匹配正在读取的 var
\bvar\b([^;^{]*?([\s]*?([<]|[>]|[!]|[=]{2})))([^;]*?)(?!=)
这些是我的测试字符串:
var->var1 = blah; //must not match -but matches
var = 8; //as expected - do not match
if(var >= 9) //as expected - matches
if(var ->var1 == balh) //as expected - matches
见here
(([<]|[>]|[!]|[=]{2}) 检查是否存在 >、
我的问题是当 var 被读取而不是被写入时它应该匹配(不需要得到结果)。但当
var-> 出现在我的测试字符串中,因为 [>] 它自动匹配
在我的正则表达式中。我尝试了否定前瞻([^;]*?)(?!=) 。但这对我原来的正则表达式没有任何作用。
【问题讨论】:
标签: python python-3.x regex regex-lookarounds