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