java系列筆記---正則表達式(1)常用符號。本站提示廣大學習愛好者:(java系列筆記---正則表達式(1)常用符號)文章只能為提供參考,不一定能成為您想要的結果。以下是java系列筆記---正則表達式(1)常用符號正文
正則表達式---常用符號
首先聲明,我這裡列表的是常常運用的一些符號,假如你想失掉全部,那建議你經過API中,搜索Pattern類,會失掉一切符號。
字符類 |
[abc]
a、
b 或
c(復雜類)
[^abc]
任何字符,除了
a、
b 或
c(否認)
[a-zA-Z]
a 到
z 或
A 到
Z,中間的字母包括在內(范圍)
[a-d[m-p]]
a 到
d 或
m 到
p:
[a-dm-p](並集)
[a-z&&[def]]
d、
e 或
f(交集)
[a-z&&[^bc]]
a 到
z,除了
b 和
c:
[ad-z](減去)
[a-z&&[^m-p]]
a 到
z,而非
m 到
p:
[a-lq-z](減去)
預定義字符類 |
.
任何字符(與行完畢符能夠婚配也能夠不婚配)
\d
數字:
[0-9]
\D
非數字:
[^0-9]
\s
空白字符:
[ \t\n\x0B\f\r]
\S
非空白字符:
[^\s]
\w
單詞字符:
[a-zA-Z_0-9]
\W
非單詞字符:
[^\w]
邊界婚配器 |
^
行的掃尾
$
行的開頭
\b
單詞邊界
\B
非單詞邊界
Greedy 數量詞 |
X?
X,一次或一次也沒有
X*
X,零次或屢次
X+
X,一次或屢次
X{n}
X,恰恰
n 次
X{n,}
X,至多
n 次
X{n,m}
X,至多
n 次,但是不超越
m 次
為了讓大家愈加明白,對下面的停止局部解釋
元字 符
舉例
.點
例如正則表達式r.t婚配這些字符串:rat、rut、r t,但是不婚配root。
$
例如正則表達式weasel$ 可以婚配字符串"He's a weasel"的末尾
但是不能婚配字符串"They are a bunch of weasels."
^
婚配一行的開端。例如正則表達式^When in可以婚配字符串"When in the"的開端,但是不能婚配"What and When in the"
*
婚配0或多個正好在它之前的那個字符。例如正則表達式。*意味著可以婚配恣意數量的任何字符。
\
這個是用來本義用的。例如正則表達式\$被用來婚配美元符號,而不是行尾,相似的,正則表達式\.用來婚配點字符,而不是任何字符的通配符。
|
將兩個婚配條件停止邏輯“或”(Or)運算。例如正則表達式(him|her) 婚配" to him"和"i to her",但是不能婚配" to them."。
+
婚配1或多個正好在它之前的那個字符。例如正則表達式9+婚配9、99、999等。
?
婚配0或1個正好在它之前的那個字符。
{i}
{i,j}
例如正則表達式A[0-9]{3} 可以婚配字符"A"前面跟著正好3個數字字符的串,例如A123、A348等,但是不婚配A1234。
而正則表達式[0-9]{4,6} 婚配延續的恣意4個、5個或許6個數字字符。
最後講一個初學者很容易搞混的知識點
正則表達式的() [] {}的區別
() 是為了提取婚配的字符串。表達式中有幾個()就有幾個相應的婚配字符串。圓括號中的字符視為一個全體。
[]是定義婚配的字符范圍。比方 [a-zA-Z0-9] 表示相應地位的字符要婚配英文字符和數字。
{}普通用來表示婚配的長度,比方 \s{3} 表示婚配三個空格,\s[1,3]表示婚配一到三個空格。
(0-9) 婚配 '0-9′ 自身。 [0-9]* 婚配數字(留意前面有 *,可以為空)[0-9]+ 婚配數字(留意前面有 +,不可以為空){1-9} 寫法錯誤。
[0-9]{0,9} 表示長度為 0 到 9 的數字字符串。
留意:關於() [] {}區別,假如你還沒用明白的話,也沒有關系,這兩天我還會寫正則表達式類文章,到時分我會用列子闡明。
這篇文章就到這裡完畢了,假如一般中央寫的不對或許還可以補充中央,歡送大家指出我會立刻更正的,也歡送大家做出點評,謝謝!