用法一: 限定開頭
文檔上給出了解釋是匹配輸入的開始,如果多行標示被設置成了true,同時會匹配后面緊跟的字符。 比如 /^A/會匹配"An e"中的A,但是不會匹配"ab A"中的A
用法二:(否)取反
當這個字符出現在一個字符集合模式的第一個字符時,他將會有不同的含義。
比如: /[^a-z\s]/會匹配"my 3 sisters"中的"3"
這里的”^”的意思是字符類的否定,上面的正則表達式的意思是匹配不是(a到z和空白字符)的字符。
總結:
什么時候”^”是否定字符,什么時候是匹配開始行
表示限定開頭的示例:
/[(^\s+)(\s+$)]/g (^cat)$ (^cat$) ^(cat)$ ^(cat$)
表示否定的示例:
[^a]表示“匹配除了a的任意字符”。 [^a-zA-Z0-9]表示“找到一個非字母也非數字的字符”。 [\^abc]表示“找到一個插入符或者a或者b或者c”。
經過對比,只要是”^”這個字符是在中括號”[]”中被使用的話就是表示字符類的否定,如果不是的話就是表示限定開頭。我這里說的是直接在”[]”中使用,不包括嵌套使用。
其實也就是說”[]”代表的是一個字符集,”^”只有在字符集中才是反向字符集的意思。