regex101条件语句总是如此

时间:2015-03-02 22:37:20

标签: javascript regex

我正在使用http://www.regexr.com/https://regex101.com/来学习正则表达式

regex101'快速参考显示

条件声明: (?(...)|)

  

如果给定的模式匹配,则匹配垂直条之前的模式。否则,匹配垂直条后的模式。

我无法让它全部工作

/(^(?!no)if|else)/gm

否如果其他

是的,如果其他

看起来像破碎的

/(?:(yes)true|false)/g

是的,错误

我需要使用string.match返回一个匹配项,以便与第三方保持兼容。我自己没有选择对结果做任何事情,因此我无法使用javascript来执行多个正则表达式或过滤结果。我想要实现的是一个要求

的正则表达式

如果句子以单词' name'开头。或者句子包含' .classX'然后返回其他任何返回' .classA'

返回eather [""][".classA "]

这是否可能,或者我是否完全放弃了我的时间?

2 个答案:

答案 0 :(得分:2)

Javascript不支持全方位的正则表达式功能,这就是您的条件不起作用的原因。

查看mozilla docs以获取支持功能的完整列表。

答案 1 :(得分:0)

虽然正则表达式确实非常强大,但我建议您将条件委托给javascript。

因此,对于帖子末尾的示例,您只需创建一个匹配" name"或" .classX",如果match()返回true,则返回""在javascript中。否则,返回" .classA"。