|
|
|
|
字符類
|
一般字符
|
匹配自身,不區分大小寫時能匹配大寫和小
寫
|
abc
|
abc
不區分大小寫時能匹配:
abc、Abc、aBc...
|
|
匹配任意字符
|
a.c
|
abc、aXc、a2c、a-c...
|
\
|
轉義字符,其后面的特殊字符轉成該字符本
身
|
a\\b a\.b
|
a\b a.b
|
|
|
并列符,能匹配其兩側的任意一個表達式
|
abc|def
|
abc、 def
|
[…]
|
并列字符集,里面的字符均為并列關系
|
[aeiou]{2}
|
ai、eu、ua...
|
[0-9]
|
匹配數字字符,也可以[2-5]等組合,同\d
|
[0-9]{11}
|
匹配電話號碼
|
[a-z]
|
匹配小寫字母,也可以[a-g]等組合
|
[a-c]de
|
ade、
bde、 cde
|
[A-Z]
|
匹配大寫字母,也可以[A-G]等組合
|
[A-Z]abc
|
Aabc、 Babc、 Cabc.
|
[人…]
|
a表示為取反
|
[Aabc]
|
匹配除abc以外所有字符
|
預定義字符集(轉義字符)
|
\d
|
數字,同[0-9]
|
\d{11}
|
匹配電話號碼
|
\D
|
非數字,同["\d]
|
\D123
|
a123、
-123、
(123.
|
\s
|
空白字符:[\t\r\n\f\v]+空格
|
a\sb
|
a b
|
\S
|
非空白字符,同["\s]
|
a\Sc
|
abc
|
\w
|
匹配單詞字符
字母及數字以及下劃線,同[a-zA-ZO-9 ]
|
a\wc
|
abc、a1c、axc.
|
\W
|
非單詞字符,同["\w]
|
a\Wc
|
a-c、a@c.
|
\r
|
匹配行的開始位置,也稱回車符
|
|
|
\n
|
匹配換行符
|
\n\n
|
匹配連續兩換行符,即空行
|
\t
|
匹配制表符
|
|
|
數量類
|
*
|
匹配前一字符0至任意次
|
abc*
|
ab、abcccc.
|
+
|
匹配前一字符1至任意次
|
abc+
|
abc、abcccc.
|
?
|
匹配前一字符0次或1次
|
abc?
|
ab、abc
|
{n}
|
匹配前一字符n次
|
a{2}bc
|
aabc
|
{n,m}
|
匹配前一字符n次至m次,即最少n次最多m
|
a{1,3}bc
|
abc、 aabc、 aaabc
|
{,m}
|
匹配前一字符0至m次
|
ab{,2}c
|
ac、abc、abbc
|
{n,}
|
匹配前一字符n至任意次
|
ab{2,}c
|
abbc、abbbbc.
|
邊界匹配
|
A
|
匹配字符串開始位置
多行模式時匹配每一行的開始位置
|
Abc
|
匹配: bcdefg 不匹配:abcdefg
|
$
|
匹配字符串末尾位置
多行模式時匹配每一行的末尾位置
|
adc$
|
匹配:. abc 不匹配:. abcdefg
|
\A
|
類似a,但不匹配多行
|
|
|
\Z
|
類似$,但不匹配多行
|
|
|
\b
|
匹配單詞字符的邊界 邊界可為空格、標點符號等
|
ing\b
|
匹配以ing結尾的單詞
|
\B
|
匹配非單詞字符的邊界,同["\b]
|
\Babc
|
匹配不以abc開頭的單詞
|
分組
|
(…)
|
將多個表達式做為一整體來運用
中間可用 | 符號來表示并列關系
|
(abc){2}
(abc|xyz)123
|
abcabc
abc123、 xyz123
|
\n
|
n為數字,為分組的編號,從左到右,第一 個分組用\1表示
|
(\d{2})abc\1
|
01abc01、 10abc10.
|
替換應用
|
可將分組做為返回值在替換中體現,一樣用
\n表示,n為數字,為分組的編號,參考上
|
匹配:第([0-9]+)章(.*)
替換:\2 第\1節
|
匹配章節號和名稱,將章節
名放在章節號后
|
|