regex 解决正则表达式问题;验证js

fv2wmkja  于 2023-04-13  发布在  其他
关注(0)|答案(2)|浏览(123)

我在jquery.validate.js中有以下问题,我发现控制台中的问题是由于以下语句造成的:

!"Specializations[d6cec914-45dc-4b66-877b-98eca23ba543].IsChecked-error".match(new RegExp("\b" + "Specializations[d6cec914-45dc-4b66-877b-98eca23ba543].IsChecked-error"+ "\b" ))

我有零钱给你们。
我得到错误:

SyntaxError: invalid range in character class

可能会有一些'-',但我没有太多的知识regex。我可以尝试下一步?

2lpgd968

2lpgd9681#

您需要转义字符串中的[]字符,因为它们用于在正则表达式中创建字符集:

new RegExp("\b" + "Specializations\\[d6cec914-45dc-4b66-877b-98eca23ba543\\].IsChecked-error"+ "\b" )
zysjyyx4

zysjyyx42#

字符“[”和“]”是正则表达式中的 meta字符,具有特殊含义,不能用作模式中的正则字符。
http://en.wikipedia.org/wiki/Regular_expression
[ ]。中括号表达式。匹配包含在中括号内的单个字符。例如,[abc]匹配“a”、“b”或“c”。[a-z]指定匹配从“a”到“z”的任何小写字母的范围。这些形式可以混合使用:[abcx-z]匹配“a”,“b”,“c”,“x”,“y”,或“z”,就像[a-cx-z]一样。如果-字符是括号中的最后一个或第一个(在^之后,如果存在)字符,则将其视为文字字符:[abc-],[-abc]。请注意,不允许使用反斜杠转义。如果]字符是第一个(在^之后)字符,则它可以包含在括号表达式中:[]abc]。

相关问题