[英]RegExp caret character matched and shouldn't be
進行以下測試(在Javascript正則表達式中):
/[^A-Z^a-z]/.test('^')
返回值為false
。 為什么?
是的,它正確返回。 您還在否定的字符類中包括了^
。
not of ^ == ^
=> false
只需刪除字符類中間的^
即可返回true。 請注意,在字符類的中間或最后一個未加空格或轉義的^
將與文字胡蘿卜符號^
匹配。 對於否定的字符類[^..]
,它執行相反的操作。
> /[^A-Z^a-z]/.test('^')
false
> /[^A-Za-z]/.test('^')
true
返回值是正確的,因為您的否定字符類也會否定插入號字符。 說,匹配除a
到z
, A
到Z
, ^
之外的任何字符。 您可以進行如下修改:
/[^a-z]/i.test('^') // true
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.