用途
一種字符串匹配的模式(pattern),可以用來檢查一個(gè)串是否含有某種子串辰斋、將匹配的子串替換或者從某個(gè)串中取出符合某個(gè)條件的子串等
匹配字符
.
匹配除換行符以外的任意字符
\w
匹配字母或數(shù)字或下劃線或漢字
\W
反義
\s
匹配任意的空白符[\f\n\r\t\v]
(換頁符\f
策州、回車符\r
、空格宫仗、制表符\t
够挂、換行符\n
)
\S
反義 [^ \f\n\r\t\v]
\d
匹配數(shù)字
\D反義
定位符-匹配位置
^
字符串的開始
$
字符串的結(jié)尾
\b
單詞的開始或結(jié)束
\B
反義
限定符-匹配數(shù)量
*
重復(fù)零次或更多次
+
重復(fù)一次或更多次
?
重復(fù)零次或一次
{n}
重復(fù)n次
{n,}
重復(fù)n次或更多次
{n,m}
重復(fù)n次到m次
藕夫?
當(dāng)該字符緊跟在任何一個(gè)其他限制符 (*, +, ?, {n}, {n,}, {n,m})
后面時(shí)孽糖,匹配模式是非貪婪的。
非貪婪模式盡可能少的匹配所搜索的字符串
默認(rèn)的貪婪模式則盡可能多的匹配所搜索的字符串
修飾符
i
ignore-不區(qū)分大小寫
g
global-全局匹配
m
multi line-多行匹配
s
默認(rèn)情況下.汁胆,匹配除換行符\n之外的任意字符梭姓,加上s,包含換行符
特殊字符-需轉(zhuǎn)義
$
(
)
*
+
.
[
?
\
^
{
|
其他
(?:pattern)
industr(?:y|ies) 就是一個(gè)比 industry|industries更簡(jiǎn)略的表達(dá)式
(?=pattern)
Windows(?=95|98|NT|2000)能匹配Windows2000中的Windows,但不能匹配Windows3.1中的Windows
(?!pattern)
Windows(?!95|98|NT|2000)能匹配Windows3.1中的Windows嫩码,但不能匹配Windows2000中的Windows
(?<=pattern)
(?<=95|98|NT|2000)Windows能匹配2000Windows中的Windows誉尖,但不能匹配3.1Windows中的Windows
(?<!pattern)
(?<!95|98|NT|2000)Windows能匹配3.1Windows中的Windows,但不能匹配2000Windows中的"Windows
exp1(?:exp2)
exp1(?=exp2)
查找 exp2 前面的 exp1
exp1(?!exp2)
查找后面不是 exp2 的 exp1
(?<=exp2)exp1
查找 exp2 后面的 exp1
(?<!exp2)exp1
查找前面不是 exp2 的 exp1