正規表示式

2021-10-16 06:24:00 字數 1791 閱讀 4879

用來匹配字串

語法說明

例項匹配字串

一般字元

匹配自身

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

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