Webstorm Javascript Regex - 正则表达式中的单字符交替

时间:2017-12-19 09:08:53

标签: javascript regex

我正在尝试基于两个分隔符拆分字符串,如下所示:

"some-str_to_split".split(/-|_/)

所以它应该根据“ - ”和“_”拆分字符串。它工作正常,但Webstorming发出警告:

  

正则表达式中的单字符交替

1 个答案:

答案 0 :(得分:6)

请注意,-|_是匹配-_的模式,但每次正则表达式引擎在字符串中的某个位置进行求和时,-都会针对_进行测试首先,如果不匹配,则尝试[-_]。这涉及所谓的回溯。当您使用libusb-1.0.dll,即所谓的character class时,正则表达式引擎使用编译的迷你程序,可以更快地执行搜索,从而消除回溯机制。

因此,警告只是提示您可以增强您的模式。如果有2个字符,性能上的差异是可以忽略的,如果有100多个替代品,差异将更加明显。