给出以下测试(在Javascript regexp中):
/[^A-Z^a-z]/.test('^')
返回值为false
。为什么呢?
答案 0 :(得分:1)
是的,它正确返回。你还包括了否定字符类中的^
。
not of ^ == ^
=> false
只需删除位于字符类中间的^
即可返回true。请注意,字符类中间或末尾的无标题或转义^
将与文字胡萝卜符号^
匹配。对于否定的字符类[^..]
,它会做相反的事情。
> /[^A-Z^a-z]/.test('^')
false
> /[^A-Za-z]/.test('^')
true
答案 1 :(得分:1)
返回值是正确的,因为否定的字符类也会否定插入符号。说,匹配除a
到z
,A
到Z
,^
之外的任何字符。您可以修改如下:
/[^a-z]/i.test('^') // true