匹配單個字符
-
.
能夠用來匹配任何的單個字符,可是在絕大多數實現裏面,不能匹配換行符。
-
.
是元字符,表示它有特殊含義,而不是字符自己的含義。
- 若是須要匹配.,那麼要用進行轉義,即在.前面加上。
- 正則通常區分大小寫的,可是也有些實現不區分。
匹配一組字符
-
[]
定義一個字符集合。
-
0-9
、a-z
定義了一個字符區間,區間使用ASCII
碼來肯定,字符區間在[]
中使用。
-
-
只有在[]
之間纔是元字符,在[]
以外就是一個普通字符。
-
^
在[]
中是取非操做。
使用元字符
空白字符
元字符 |
說明 |
[\b] |
回退(刪除)一個字符 |
\f |
換頁符 |
\n |
換行符 |
\r |
回車符 |
\t |
製表符 |
\v |
垂直製表符 |
\r\n
是 Windows 中的文本行結束標籤,在 Unix/Linux 則是 \n
。code
特定字符
數字元字符
元字符 |
說明 |
\d |
數字字符,等價於[0-9] |
\D |
非數字字符,等價於[^0-9] |
字符數字字符
元字符 |
說明 |
\w |
大小寫字符,下劃線和數字,等價於[a-zA-Z0-9_] |
\W |
對\w取非 |
空白字符匹配
元字符 |
說明 |
\s |
任何一個空白字符,等價於[fnrtv] |
\S |
對\s取非 |
重複匹配
-
+
匹配一個或多個
-
*
匹配0個或多個
-
?
匹配0個或1個
匹配郵箱:字符串
[\w.]+@\w+\.\w+
-
{n}
匹配n個字符
-
{m,n}
匹配m~n個字符
-
{m,}
至少匹配m個字符
位置匹配
單詞匹配
-
\b
能夠匹配一個單詞的邊界,邊界是指位於\w
和\W
之間的位置;\B
匹配一個不是單詞邊界的位置。
-
\b
只匹配位置,不匹配字符,所以\babc\b
匹配出來的結果爲3個字符。
字符串邊界
-
^
匹配整個字符串的開頭,$
匹配結尾。
-
^
元字符在字符集合中用做求非,在字符集合外用做匹配字符串的開頭。