基本元字元
. 比對任意單個字元
| 邏輯或操作
[] 比對字元集中的一個字元
[^] 對字元集求非
- 定義一個區間
\ 對下一個字元轉義
數量元字元
* 比對前一個字元(子表達式)的零次或多次重複
*? *的懶惰型版本
+ 比對前一個字元(子表達式)的一次或多次重複
+? +的懶惰型版本
? 配前一個字元(子表達式)的零次或多次重複
{n} 比對前一個字元(子表達式)的n次重複
{m,n} 比對前一個字元(子表達式)隻是m次至多n次的重複
{n,} 比對前一個字元(子表達式)n次或更多次數的重複
{n,}? {n,}的懶惰型版本
位置元字元
^ 比對字元串的開頭
\a 比對字元串的開頭
$ 比對字元串的結束
\z 比對字元串的結束
\< 比對單詞的開始
\> 比對單詞的結束
\b 比對單詞邊界
\b \b的反義
特殊字元元字元
[/b] 比對一個倒退字元
/c 比對一個控制字元
/d 比對任意一個數字字元,等價于[0-9]
/d /d的反義
/f 換頁符
/n 換行符
/r 回車符
/s 比對一個空白字元
/s /s的反義
/t 制表符
/v 垂直制表符
/w 比對任意字母、數字、下劃線。等價于[a-za-z0-9_]
/w /w的反義
/x 比對一個十六進制數字
/0 比對一個八進制數字
回溯引用和前後查找
( ) 定義一個子表達式
/1 第一個子表達式,同理/2表示第2個子表達式。/0通常表示整個正規表達式。
?= 向前查找
?<= 向後查找
?! 負向前查找
?!= 負向後查找
?() 條件(if then)
?()| 條件(if then else)