gpt4 book ai didi

python - 关于负正则表达式的另一个问题

转载 作者:太空宇宙 更新时间:2023-11-03 19:34:06 24 4
gpt4 key购买 nike

我有一个 python 脚本,用于检查代码是否存在编码约定错误。它通过匹配表示违反编码标准的正则表达式来实现此目的。

我们的标准之一是“if”、“while”和“do-while”条件必须包含条件运算符。

所以没有

if (var1)
{
// blah
}

相反,我需要

if (var1 == TRUE)
{
// blah
}

比如我的if语句需要的是匹配行首的“if”,并找到不包含“==”、“<=”、“">=”的情况, “||”或后面任意位置的“&&”。我已经用头撞墙几个小时了,我希望这里有人可以减轻一些痛苦!

最佳答案

这可以针对您提供的输入执行此操作,但正如评论中提到的,最好使用解析器(例如 pyparsing )。

>>> s
'if (var1)'
>>> s2
'if (var1 == TRUE)'
>>> if re.search(r"^if.+==|<=|>=|\|\||&&", s): print "found bad signs"
...
>>> if re.search(r"^if.+==|<=|>=|\|\||&&", s2): print "found bad signs"
...
found bad signs

关于python - 关于负正则表达式的另一个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4389255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com