我需要一个正则表达式(grep -e "__"
),它匹配包含if
和只有一个=
的所有行(忽略包含==
的行)
我试过了:
grep -e "if.*=[^=]"
但是=
不是字符类,所以它不起作用。
答案 0 :(得分:4)
问题是.*
可能包含=
。
我建议
grep -e "if[^=]*=[^=]"
如果您的目标是查找包含错误分配而不是比较的if
的代码行,我建议使用linter(这将基于强大的解析器而不仅仅是正则表达式)。当然要使用的linter取决于代码的语言(例如我在Javascript中使用this one)。