正規表示式

2021-07-31 03:53:22 字數 3148 閱讀 1446

規則

元字元描述.

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

r.t匹配這些字串:

rat、

rut、

r t,但是不匹配

root。$

匹配行結束符。例如正規表示式

weasel$

能夠匹配字串

"he's a weasel"

的末尾,但是不能匹配字串

"they are a bunch of weasels."。^

匹配一行的開始。例如正規表示式

^when in

能夠匹配字串

"when in the course of human events"

的開始,但是不能匹配

"what and when in the"。*

匹配0或多個正好在它之前的那個字元。例如正規表示式

.*意味著能夠匹配任意數量的任何字元。

\這是引用符,用來將這裡列出的這些元字元當作普通的字元來進行匹配。例如正規表示式

\$被用來匹配美元符號,而不是行尾,類似的,正規表示式

\.用來匹配點字元,而不是任何字元的萬用字元。

[ ] [c1-c2]

[^c1-c2]

匹配括號中的任何乙個字元。例如正規表示式

r[aou]t

匹配rat

、rot

和rut

,但是不匹配

ret。可以在括號中使用連字元

-來指定字元的區間,例如正規表示式

[0-9]

可以匹配任何數字字元;還可以制定多個區間,例如正規表示式

[a-za-z]

可以匹配任何大小寫字母。另乙個重要的用法是「排除

」,要想匹配除了指定區間之外的字元

——也就是所謂的補集

——在左邊的括號和第乙個字元之間使用

^字元,例如正規表示式

[^269a-z]

將匹配除了2、

6、9和所有大寫字母之外的任何字元。

\< \>

匹配詞(

word

)的開始(

\<

)和結束(

\>

)。例如正規表示式

\能夠匹配字串

"for the wise"

中的"the"

,但是不能匹配字串

"otherwise"

中的"the"

。注意:這個元字元不是所有的軟體都支援的。

\( \)

將\(

和\)

之間的表示式定義為「組

」(group

),並且將匹配這個表示式的字元儲存到乙個臨時區域(乙個正規表示式中最多可以儲存

9個),它們可以用

到的符號來引用。

|將兩個匹配條件進行邏輯「或

」(or)運算。例如正規表示式

(him|her)

匹配"it belongs to him"

和"it belongs to her"

,但是不能匹配

"it belongs to them."

。注意:這個元字元不是所有的軟體都支援的。+匹配

1或多個正好在它之前的那個字元。例如正規表示式

9+匹配9、

99、999、98、

93dsf

、9.....

等。注意:這個元字元不是所有的軟體都支援的。?匹配

0或1個正好在它之前的那個字元。注意:這個元字元不是所有的軟體都支援的。\ \

匹配指定數目的字元,這些字元是在它之前的表示式定義的。例如正規表示式

a[0-9]\

能夠匹配字元

"a"後面跟著正好

3個數字字元的串,例如

a123

、a348

等,但是不匹配

a1234

。而正規表示式

[0-9]\

匹配連續的任意4個、

5個或者

6個數字字元。注意:這個元字元不是所有的軟體都支援的。 例子

匹配非負整數(正整數+0)

^\d+$

匹配正整數

^[0-9]*[1-9][0-9]*$

匹配非正整數(負整數+0)

^((-\d+)|(0+))$

匹配負整數

^-[0-9]*[1-9][0-9]*$

匹配整數

^-?\d+$

匹配非負浮點數(正浮點數

+ 0)

^\d+(\.\d+)?$

匹配正浮點數

^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

匹配非正浮點數(負浮點數

+ 0)

^((-\d+(\.\d+)?)|(0+(\.0+)?))$

匹配負浮點數

^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$

匹配浮點數

^(-?\d+)(\.\d+)?$

匹配由26

個英文本母組成的字串

^[a-za-z]+$

匹配由26

個英文本母的大寫組成的字串

^[a-z]+$

匹配由26

個英文本母的小寫組成的字串

^[a-z]+$

匹配由數字和

26個英文本母組成的字串

^[a-za-z0-9]+$

匹配由數字、

26個英文本母或者下劃線組成的字串

^\w+$

匹配email

位址^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$

匹配url

^[a-za-z]+:(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$

匹配中文字元

[\u4e00-\u9fa5]

匹配首尾空白字元

^\s*|\s*$

匹配身份證

\d[\d|x]|\d

匹配ip

位址((2[0-4]\d|25[0-5]|[01]?\d\d?)\.)(2[0-4]\d|25[0-5]|[01]?\d\d?)

正規表示式 正規表示式 總結

非負整數 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正規表示式 編寫正規表示式

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