用來匹配字串
語法說明
例項匹配字串
一般字元
匹配自身
abcabc
.匹配任意除換行符「\n」外的字元
a.cabc
\轉義字元,使後乙個字元改變原來的意思。如果字串中有字元需要匹配,可以使用*或者字符集
a.c a\c
a.c, a\c
[…]字符集。對應的位置可以是字符集中任意字元。字符集中的字元可以逐個列出,也可以給出範圍,如[abc]或[a-c]。第乙個字元如果是^則表示取反,如[^abc]表示不是abc的其他字元。所有的特殊字元在字符集中都失去其原有的特殊含義。在字符集中如果要使用]、-或^,可以再前面加反斜槓,或把]、-放在第乙個字元,把^放在非第乙個字元
a[bcd]e
abe ace ade
\d數字:[0-9]
a\dc
a1c\d
非數字:[^\d]
a\dc
abc\s
空白字元:[《空格》\t\r\n\f\v]
a\sc
a c\s
非空白字元:[^\s]
a\sc
abc\w
單詞字元:[a-za-z0-9_]
a\wc
abc\w
非單詞字元:[^\w]
a\wc
a c數量詞(用在字元或(…)之後)
語法說明
例項匹配字串
*匹配前乙個0或無限次
abc*
ab abccc
+匹配前乙個字元1次或無限次
abc+
abc abccc
?匹配前乙個字元0次或1次
abc?
ab abc
匹配前乙個字元m次
abcabbc
匹配前乙個字元m至n次。 m和n可以省略:若省略m,則匹配0至n次;若省略n,則匹配m至無限次。
abcabc abbc
邊界匹配
語法說明
例項匹配字串
^匹配字串開頭。 在多行模式中匹配每一行的開頭
^abc
abc$
匹配字串末尾。 在多行模式中匹配每一行的末尾
abc$
abc\a
僅匹配字串開頭。
\aabc
abc\z
僅匹配字串末尾。
abc\z
abc\b
匹配\w和\w之間
a\b!bc
a!bc
\b[^\b]
a\bbc
abc邏輯分組
語法說明
例項匹配字串
|代表左右表示式任意匹配乙個。它總是先嘗試匹配左邊的表示式,一旦成功匹配則跳過匹配右邊的表示式。如果|沒有被包括在()中,則它的範圍是整個正規表示式。
abc|def
abc def
(…)被括起來的表示式將作為分組,從表示式左邊開始每遇到乙個分組的左括號』(』,編號+1. 另外,分組表示式作為乙個整體,可以後接數量詞。表示式中的|僅在該組中有效
(abc) a(123|456)c
abcabc a456c
(?p…)
分組,除了原有的編號外再指定乙個額外的別名。
(?pabc)
abcabc
\引用編號為的分組匹配到的字串。
(\d)abc\1
1abc1 5abc5
?p=name
引用別名為的分組匹配到的字串
(?p\d)abc(?p=id)
1abc1 5abc5
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...