.
:匹配任何單個字元。例如正規表示式「
b.g」能匹配如下字串:
「big」、
「bug」、
「b g
」,但是不匹
配「buug」,
「b..g
」可以匹配「
buug」。
[ ]
:匹配括號中的任何乙個字元。例如正規表示式「
b[aui]g
」匹配bug
、big
和bag
,但是不匹配
beg、
baug
。可以在括號中使用連字元「
-」來指定字元的區間來簡化表示,例如正規表示式
[0-9]
可以匹配任
何數字字元,這樣正規表示式「
a[0-9]c
」等於「
a[0123456789]c
」就可以匹配「
a0c」、「
a1c」、「
a2c」
等字串;還可以制定多個區間,例如「
[a-za-z]
」可以匹配任何大小寫字母,
「[a-za-z0-9]
」可以匹
配任何的大小寫字母或者數字。
( )
:將()
之間括起來的表示式定義為「組」
(group)
,並且將匹配這個表示式的字元儲存到乙個臨時區域,
這個元字元在字串提取的時候非常有用。把一些字元表示為乙個整體。改變優先順序、定義提取
組兩個作用。
| :將兩個匹配條件進行邏輯「或」運算。
'z|food'
能匹配"z"
或"food"
。'(z|f)ood'
則匹配"zood"
或"food"
*:匹配
0至多個在它之前的子表示式,和萬用字元
*沒關係。例如正規表示式「
zo*」能匹配「z
」、「zo
」以及「
zoo」
;因此「
.*」意味著能夠匹配任意字串。
"z(b|c)*"→zb
、zbc
、zcb
、zccc
、zbbbccc
。"z(ab)*"
能匹配z
、zab
、zabab
(用括號改變優先順序)。
+ :匹配前面的子表示式一次或多次,和
*對比(
0到多次)
。例如正規表示式
9+匹配9、
99、999等。
「zo+
」能匹配「zo
」以及「
zoo」
,不能匹配
"z"。
? :匹配前面的子表示式零次或一次。
例如,"do(es)?"
可以匹配
"do"
或"does"
。一般用來匹配
「可選部分」。
:匹配確定的
n 次。
"zo"
→zoo
。例如,「e
」不能匹配
「bed」中的
「e」,
但是能匹配
「seed
」中的兩個「e」。 :
至少匹配n次。
例如,「e」
不能匹配
「bed」中的
「e」,
但能匹配
「seeeeeeeed
」中的所有「e
」。:最少匹配
n 次且最多匹配
m 次。「e
」將匹配「
seeeeeeeed
」中的前三個「e」。 ^
:匹配一行的開始。例如正規表示式「
^regex
」能夠匹配字串「
regex
我會用」的開始,
但是不能匹配「我會用
regex」。
^還有非的意思
$ :匹配行結束符。例如正規表示式「浮雲$」
能夠匹配字串「一切都是浮雲」的末尾,但是不能
匹配字串「浮雲呀」
\d:代表乙個數字,等同於
[0-9]
\d:代表非數字,等同於
[^0-9]
\s:代表換行符、
tab製表符等各種空白字元
\s:代表非空白字元
\w:匹配字母或數字或下劃線或漢字,即能組成單詞的字元
\w:非\w
,等同於
[^\w]
\n:匹配換行符
\r:匹配回車符
d:digital;
s:space、
w:word。
使用示例:
pattern pattern = pattern.compile("[\u4e00-\u9fa5]+$");
//正規表示式物件
matcher mat= pattern.matcher(sheetname);
//匹配器
boolean result = mat.find();
string splits = pattern.split(sheetname);
for (int j = 0; j < splits.length; j++)
system.out.println(mat.group());
-----:擷取sheetname中純漢字之前的部分
參考:
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...