正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則的字符串。在不少文本編輯器裏,正則表達式一般被用來檢索、替換那些符合某個模式的文本。正則表達式
實踐出真知:在線正則表達式編輯器
元字符 | 說明 |
---|---|
. | 匹配除換行符之外的任意字符 |
\w | 匹配字母或數字或下劃線 |
\s | 匹配任意的空白符 |
\d | 匹配數字 |
\b | 匹配單詞開始或者結尾 |
^ | 匹配行首 |
$ | 匹配行尾 |
特殊字符 | 描述 |
---|---|
( ) | 匹配一個子表達式並記憶,能夠供後面使用 |
[ ] | 匹配單個字符 |
{ } | 重複模式 |
| | 分支匹配,一般配合()使用 |
語法 | 說明 |
---|---|
\W | 匹配任意單個不是字母,S數字,下劃線的字符 |
\S | 匹配任意單個不是空白符的字符 |
\D | 匹配任意單個非數字的字符 |
\B | 匹配不是單詞開頭和結束的位置 |
[^x] | 匹配單個除了x之外的任意字符 |
[^one] | 匹配單個除了one這幾個字母的任意字符 |
語法 | 說明(和以前緊鄰元素組合起來表示以前緊鄰元素出現次數) |
---|---|
* | 重複零次或更屢次 |
+ | 重複一次或更屢次 |
? | 重複零次或一次 |
{n} | 重複n次 |
{n,} | 重複n次或更屢次 |
{n,m} | 重複n到m次 |
類型 | 正則表達式 | 匹配成功的條件 |
---|---|---|
確定順序環視 | (?=...) | 子表達式能夠匹配右側文本 |
確定逆序環視 | (?<=...) | 子表達式能夠匹配左側文本 |
否認順序環視 | (?!...) | 子表達式不能夠匹配右側文本 |
否認逆序環視 | (?<!...) | 子表達式不能夠匹配左側文本 |
運算符 | 描述 |
---|---|
\ | 轉義符 |
(), (?:), (?=), [] | 圓括號和方括號 |
*, +, ?, {n}, {n,}, {n,m} | 重複模式 |
^, $, \任何元字符、任何字符 | 元字符和普通字符 |
| | 或 |