在 javascript 中进行 regxep 匹配时,有没有办法让角色^
考虑在内?它似乎是一个特殊字符,如:
"x^2".match( /[A-z]+[0-9]*/)
返回:
["x^2"]
在 javascript 中进行 regxep 匹配时,有没有办法让角色^
考虑在内?它似乎是一个特殊字符,如:
"x^2".match( /[A-z]+[0-9]*/)
返回:
["x^2"]
“^”不被视为特殊,它只是在 ascii 中介于“A”和“z”之间(参见http://www.asciitable.com/)。尝试匹配模式 [a-zA-Z] 而不是仅限于英文字母。
"x^2".match(/[a-zA-Z]+[0-9]*/) // returns ["x"]
您可以转义任何特殊字符以\
按字面意思使用它。
"x^2".match(/[A-z]\^[0-9]*/)
如果您想要的只是字母表中的“真实”字符,请不要使用[A-z]
太宽的字符。你可能想要
"x^2".match(/\w+/)
或者
"x^2".match(/[A-Za-z]+/)
转义它,就像你对每个其他特殊字符所做的那样:
match( /\^/ )
[A-z]
不代表[A-Za-z]
!请参阅 Unicode 表。
要在模式中使用文字^
,您必须对其进行转义,因为该字符在正则表达式中具有特殊含义。
/[A-Za-Z]\^[0-9]/
或者
/[a-z]\^[0-9]/i
更多信息在这里