1. 程式人生 > 實用技巧 >正則表示式中^的用法

正則表示式中^的用法

限定開頭

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

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