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

Sho*_*ota 2 javascript regex

我试图基于两个分隔符分割字符串,如下所示:

"some-str_to_split".split(/-|_/)
Run Code Online (Sandbox Code Playgroud)

所以它应该根据" - "和"_"分割字符串.它工作正常,但Webstorming发出警告:

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

Wik*_*żew 6

注意,这-|_是一个匹配-或的模式_,但每次正则表达式引擎在字符串中的位置上进行求和时,-首先对其进行测试,如果不匹配_则尝试.这涉及所谓的回溯.当你使用[-_]一个所谓的字符类时,正则表达式引擎使用一个编译的迷你程序,它可以更快地执行搜索,从而消除了回溯机制.

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