【发布时间】:2017-03-08 02:58:52
【问题描述】:
如果它跟在注释后面,我有一个匹配“if”语句的正则表达式:
(?:(\/\*[\w\s\']*)|(\/\/[\w\s\']*))if
我需要找到'if'的所有实例,只要它们与上面的正则表达式不匹配,因此如果'if'语句在cmets中,则忽略它,否则匹配它。单独使用正则表达式是否可行?这感觉就像它非常接近。
【问题讨论】:
-
你的问题很有道理,我不知道为什么会投反对票。无论如何,您是在谈论引用的 cmets 或代码 cmets?
-
因为您的正则表达式似乎以
\/\*和\/\/为目标代码 cmets,但在尝试时它将适用于引用的 cmets 哈哈 -
对于代码 cmets,它在一个正则表达式中并不完全可行:您必须放弃
//或/* */在引号内的情况,并处理嵌套引号和反斜杠引号。您可以通过首先解析一个标志变量来执行多个步骤,该变量首先存储打开和关闭引号的状态。然后如果您的标志显示评论当前已关闭,那么您匹配 if。不确定它在 JS 中是否完全可行。
标签: javascript regex match