概述
正規表示式是事先宣告一組規則,用於匹配字串中的字元。
基本語法
元字元
在正規表示式的模式中,有一些字元是有特殊含義的,被稱為元字元
。元字元都是針對單個字元匹配的。
w
匹配大小寫英文字元及數字 0 到 9 之間的任意一個及下劃線,相當於 [a-zA-Z0-9_]
W
不匹配大小寫英文字元及數字 0 到 9 之間的任意一個,相當於 [^a-zA-Z0-9_]
s
匹配任何空白字元,相當於 [ f
v]
S
匹配任何非空白字元,相當於 [^s]
d
匹配任何 0 到 9 之間的單個數字,相當於 [0-9]
D
不匹配任何 0 到 9 之間的單個數字,相當於 [^0-9]
[u4e00-u9fa5]
匹配任意單個漢字(這裡用的是 Unicode 編碼表示漢字的 )
界定符
比較通用的正規表示式界定符是雙斜槓 /regex/
原子的概念
正規表示式中的原子分為可見原子和不可見原子。
[ f
v] 屬於不可見原子,其他表示可見原子
量詞
*
匹配 0 到多個元字元,相當於 {0,}
?
匹配 0 到 1 個元字元,相當於 {0,1}
{n}
匹配 n 個元字元
{n,}
匹配至少 n 個元字元
{n,m}
匹配 n 到 m 個元字元
+
匹配至少 1 個元字元,相當於 {1,}
邊界
匹配單詞邊界
^
字串必須以指定的字元開始
$
字串必須以指定的字元結束
捕獲分組
正規表示式中,使用 ()
將若干單位(可以是字元,正規表示式)組織在一起,成為一個獨立單元。
正規表示式中,分組分為捕獲分組和非捕獲分組。
/(pattern)/flags
模式修正
貪婪/懶惰,忽略大小寫,忽略空白字元
使用場景
表單驗證, 模板引擎