正規表示式

2021-07-05 09:38:53 字數 2742 閱讀 6880

:匹配任何單個字元。例如正規表示式「

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正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...