我正在使用http://www.regexr.com/和https://regex101.com/来学习正则表达式
regex101的快速参考显示
Conditional statement: (?(...)|)
如果给定的模式匹配,则匹配垂直条之前的模式 . 否则,匹配垂直条后的模式 .
我根本无法工作
/(^(?!no)if|else)/gm
不,如果 else
是的,如果 else
看起来像破了
/(?:(yes)true|false)/g
是的回事 false
我需要使用 string.match
返回一个匹配项,以便与第三方保持兼容 . 我不能使用javascript来执行多个正则表达式或过滤结果 . 我想要实现的是一个要求的正则表达式
如果句子以' name
' or the sentence contains ' .classX
' then return nothing else return ' .classA
'为单词开头
返回eather [""]
或 [".classA "]
这是可能的还是我完全放弃了我的时间?
2 回答
Javascript不支持全方位的正则表达式功能,这就是您的条件不起作用的原因 .
请查看mozilla docs以获取支持功能的完整列表 .
虽然正则表达式确实非常强大,但我建议您将条件委托给javascript .
因此,对于您在帖子末尾的示例,您只需创建一个匹配"name"或".classX"的模式,如果
match()
返回true,则返回“" in javascript. Else, return " .classA” .