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

问题描述 投票:2回答:1

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

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

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

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

javascript regex
1个回答
6
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.