正則表達(dá)式
在編寫處理字符串的程序或網(wǎng)頁時(shí),經(jīng)常會(huì)有查找符合某些復(fù)雜規(guī)則的字符串的需要。正則表達(dá)式就是用于描述這些規(guī)則的工具。換句話說,正則表達(dá)式就是記錄文本規(guī)則的代碼。
正則表達(dá)式通常用于兩種任務(wù):1.驗(yàn)證,2.搜索/替換。用于驗(yàn)證時(shí),通常需要在前后分別加上^和$,以匹配整個(gè)待驗(yàn)證字符串;搜索/替換時(shí)是否加上此限定則根據(jù)搜索的要求而定,此外,也有可能要在前后加上\b而不是^和$。
元字符 metacharacter
匹配位置
- 匹配字符串的開始
^ - 匹配字符串的結(jié)束
$ - 匹配單詞的開頭結(jié)尾
\b
匹配數(shù)量
- 匹配0或1個(gè)數(shù)量
? - 匹配n個(gè)數(shù)量
{n} - 匹配n-m個(gè)數(shù)量
{n,m} - 匹配至少n個(gè)數(shù)量
{n,} - 匹配任意數(shù)量
* - 匹配至少一個(gè)數(shù)量
+
匹配字符
- 匹配一個(gè)數(shù)字
\d - 匹配除了換行符外任意字符
. - 匹配空白符
\s - 匹配字母數(shù)字下劃線漢字
\w - 匹配集合中的一個(gè)字符
[set]
分組
- 匹配一個(gè)分組
(分組)
字符轉(zhuǎn)義
- 元字符跳脫
\metacharacter - 斜線跳脫
\\
分支
|
反義
- 和元字符反著干,大寫
\W\S\D\B[^set]
后向引用
后向引用用于重復(fù)搜索前面某個(gè)分組匹配的文本。
斷言
負(fù)向斷言
注釋
貪婪匹配、懶惰匹配
默認(rèn)為貪婪匹配;加?則為懶惰匹配