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