簡體   English   中英

RegExp脫字號字符匹配,不應匹配

[英]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

返回值是正確的,因為您的否定字符類也會否定插入號字符。 說,匹配除azAZ^之外的任何字符。 您可以進行如下修改:

/[^a-z]/i.test('^') // true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM