天天看點

C# 正規表達式(備忘錄)

基本元字元 

.     比對任意單個字元 

|     邏輯或操作 

[]    比對字元集中的一個字元 

[^]  對字元集求非 

-     定義一個區間 

\      對下一個字元轉義 

數量元字元 

*        比對前一個字元(子表達式)的零次或多次重複  

*?     *的懶惰型版本 

+       比對前一個字元(子表達式)的一次或多次重複 

+?    +的懶惰型版本 

?        配前一個字元(子表達式)的零次或多次重複 

{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)