1. 程式人生 > >(轉)正則表示式中^的用法

(轉)正則表示式中^的用法

 

https://www.cnblogs.com/ytc6/p/8478989.html

 

用法一:   限定開頭

    文件上給出瞭解釋是匹配輸入的開始,如果多行標示被設定成了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”。

經過對比,只要是”^”這個字元是在中括號”[]”中被使用的話就是表示字元類的否定,如果不是的話就是表示限定開頭。我這裡說的是直接在”[]”中使用,不包括巢狀使用。 
其實也就是說”[]”代表的是一個字符集,”^”只有在字符集中才是反向字符集的意思。