字符范围内的正则表达式字符类失败了intellij的jsLint检查

时间:2013-03-10 11:57:18

标签: javascript regex intellij-idea jslint

enter image description here

纠正失败检查的最简单方法是什么? intellij(我可以找到)中没有选项允许字符范围内的字符类。

1 个答案:

答案 0 :(得分:8)

如果要在字符类中允许文字连字符-,则需要在开始[之后立即将其设置(请参阅http://www.regular-expressions.info/reference.html处的“字符类”部分)或在收盘前](我至少找到了一些语言的作品),否则它被认为是一个范围。

请注意@IanMackinnon对this SO question的评论(虽然我在一次非常简短的搜索后找不到权威的来源):“显式转义字符类中的连字符是另一个JSLint建议。“ - 这是在 literal 连字符的上下文中编写的。无论jsLint 是否需要通过检查,这可能是一种很好的做法,以便将来证明文字连字符,以防未来的开发人员通过放置某些内容而意外地将类转换为范围在(未转义的)连字符和开头(或关闭)括号之间。

因此,我认为您的正则表达式中当前显示为[\w-+\s]的部分应该重写为[\-\w+\s])。

随后[\w-+][\-\w+]等等......