我正在使用http://www.regexr.com/和https://regex101.com/来学习正则表达式
regex101'快速参考显示
条件声明: (?(...)|)
如果给定的模式匹配,则匹配垂直条之前的模式。否则,匹配垂直条后的模式。
我无法让它全部工作
/(^(?!no)if|else)/gm
否如果其他
是的,如果其他
看起来像破碎的
/(?:(yes)true|false)/g
是的,错误
我需要使用string.match
返回一个匹配项,以便与第三方保持兼容。我自己没有选择对结果做任何事情,因此我无法使用javascript来执行多个正则表达式或过滤结果。我想要实现的是一个要求
如果句子以单词' name
'开头。或者句子包含' .classX
'然后返回其他任何返回' .classA
'
返回eather [""]
或[".classA "]
这是否可能,或者我是否完全放弃了我的时间?
答案 0 :(得分:2)
Javascript不支持全方位的正则表达式功能,这就是您的条件不起作用的原因。
查看mozilla docs以获取支持功能的完整列表。
答案 1 :(得分:0)
虽然正则表达式确实非常强大,但我建议您将条件委托给javascript。
因此,对于帖子末尾的示例,您只需创建一个匹配" name"或" .classX",如果match()
返回true,则返回""在javascript中。否则,返回" .classA"。