正則表達式備忘錄
1)
. 匹配除換行符以外的任意字符
\w 匹配字母或數字或下劃線或漢字
\s 匹配任意的空白符
\d 匹配任意的數字,例如:\d{2}表示前麵的數字連續出現2次,即2個數字。
\b 匹配單詞的開始或結束,也就是單詞的分界處,它隻匹配一個字符位置。
^ 匹配字符串的開始
$ 匹配字符串的結束
2)
* 表匹配次數的符號。重複零次或更多次 它代表的不是字符,也不是位置,而是數量——它指定*前邊的內容可以連續重複出現任 意次以使整個表達式得到匹配。
+ 重複一次或更多次
? 重複零次或一次
{n} 重複n次
{n,} 重複n次或更多次
{n,m} 重複n到m次
3)
[] 匹配方括號裏麵的字符。例:[0-9]代表的含意與\d是完全一致的:即一位數字;[a-zA-Z]表任意一個英文字母。在方括號內隻匹配單個字符。
4)反義
\W 匹配任意不是字母,數字,下劃線,漢字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非數字的字符
\B 匹配不是單詞開頭或結束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou這幾個字母以外的任意字符
5)字符轉義用符號“\”,例:要顯示元字符.,要用\.表示。
6) | 指明兩項之間的一個選擇。要匹配 |,使用 \|
7)例子:
匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配中國郵政編碼:[1-9]\d{5}(?!\d)
匹配身份證:\d{15}|\d{18}
匹配單個字符的元字符 | ||
. | 點號 | 匹配單個任意字符 |
[…] | 字符組 | 匹配單個列出的字符 |
[^...] | 排除型字符 | 匹配單個未列出的字符 |
\char | 轉義字符 | 若char是元字符,或轉義序列無特殊含義時,匹配char對應的普通字符。 |
提供計數功能的元字符 | ||
? | 問號 | 允許匹配一次,但非必須 |
* | 星號 | 可以匹配任意多次,也可以不匹配 |
+ | 加號 | 至少需要匹配一次,至多可能匹配任意多次 |
{min,max} | 區間量詞 | 至少要min次,至多允許max次 |
匹配位置的元字符 | ||
^ | 脫字符 | 匹配一行的開頭位置 |
$ | 美元符 | 匹配一行的結束位置 |
\< | 單詞分界符 | 匹配單詞開始的位置 |
\> | 單詞分界符 | 匹配單詞結束的位置 |
其他元字符 | ||
| | 豎劃線 | 匹配任意分割的表達式 |
(...) | 括號 | 限定多選結構的範圍,標注量詞作用的元素,為反向引用捕獲文本。 |
\1\2 | 反向引用 | 匹配之前的第一,第二組括號內的表達式匹配的文本 |
最後更新:2017-04-02 06:52:11