Regex reg exp:;如果;“和单”=&引用;
我需要一个正则表达式(Regex reg exp:;如果;“和单”=&引用;,regex,grep,Regex,Grep,我需要一个正则表达式(grep-e“),它匹配所有包含if的行,只有一行=(忽略包含=的行) 我试过这个: grep -e "if.*=[^=]" 但是=不是字符类,所以它不起作用 问题是*可能包含= 我建议 grep -e "if[^=]*=[^=]" 如果您的目标是查找包含错误赋值而不是比较的If代码行,我建议使用linter(它将基于健壮的解析器,而不仅仅是正则表达式)。当然,要使用的linter取决于代码的语言(例如我在Javascript中使用的语言)。问题是*可能包含= 我建议
grep-e“
),它匹配所有包含if
的行,只有一行=
(忽略包含=
的行)
我试过这个:
grep -e "if.*=[^=]"
但是
=
不是字符类,所以它不起作用 问题是*
可能包含=
我建议
grep -e "if[^=]*=[^=]"
如果您的目标是查找包含错误赋值而不是比较的
If
代码行,我建议使用linter(它将基于健壮的解析器,而不仅仅是正则表达式)。当然,要使用的linter取决于代码的语言(例如我在Javascript中使用的语言)。问题是*
可能包含=
我建议
grep -e "if[^=]*=[^=]"
如果您的目标是查找包含错误赋值而不是比较的
If
代码行,我建议使用linter(它将基于健壮的解析器,而不仅仅是正则表达式)。当然,要使用的linter取决于代码的语言(例如我在Javascript中使用的语言)。您需要一直排除到行尾。如果没有锚定,grep
将返回一个匹配,前提是在一行中的某个地方有匹配的方法'if[^=]*=[^=]*$”
并可能添加一些内容以排除与=
的匹配项,如果在之前的某个位置(问题不清楚这是否必要)。您需要排除到行的末尾。如果没有锚定,grep
将返回一个匹配,前提是在一行中的某个地方有匹配的方法'if[^=]*=[^=]*$”
并可能添加一些内容,以排除与=
if
之前的某个地方的匹配项(从问题中不清楚这是否必要)。