我一直在努力创建一个正则表达式,只识别下面的粗体。我尝试了一些正则表达式规则但没有成功。
if _if abcifabc guiif
我不想承认完整的if(条件){陈述} ....
答案 0 :(得分:2)
您可以尝试以下正则表达式:
NODE EXPLANATION
------------------------------------------------------------
(?: group, but do not capture:
------------------------------------------------------------
^ the beginning of the line
------------------------------------------------------------
| OR
------------------------------------------------------------
\s whitespace (\n, \r, \t, \f, and " ")
------------------------------------------------------------
) end of grouping
------------------------------------------------------------
if 'if'
------------------------------------------------------------
(?: group, but do not capture:
------------------------------------------------------------
\s whitespace (\n, \r, \t, \f, and " ")
------------------------------------------------------------
) end of grouping
正则表达式的说明:
{{1}}
答案 1 :(得分:1)
这将匹配if
前面只有空格:
^\s*if\b
^
- 锚定到行首。
\s*
- 匹配零个或多个空格字符(包括空格和制表符)。
\b
- 需要一个单词边界。所以它不会匹配iffy
等等。
正则表达式无法完美地识别编程语言中的关键字(因为完全正确的解决方案需要完全解析语言)。但是,这应该在遵循典型样式的代码中很好地捕获if语句。
答案 2 :(得分:1)
if
:
/\bif\b/
但要小心,因为它匹配所有if
字词(例如评论)。