正規表示式

2021-07-10 14:11:40 字數 1402 閱讀 4930

元字元

指在正規表示式

中具有特殊意義的專用字元,可以用來規定其前導字元(即位於元字元前面的字元)在目標物件中的出現模式。

字元轉義

特殊字元使用時候需要進行轉義

字元類字元是指計算機中使用的字母、數字、字和符號

分枝條件 指

有幾種規則,如果滿足其中任意一種規則就當成匹配。具體使用「|」分割各各規則 分組

指用「()」來指定子表示式,也叫分組反義

取其相反的值

反向引用

每個捕獲的子匹配項按照它們在

正規表示式

模式中從左到右出現的順序儲存。緩衝區編號從 1 開始,最多可儲存 99 個捕獲的子表示式。可以使用 \

n來訪問每個緩衝區,其中

n 是標識特定緩衝區的一位或兩位十進位制數字

零寬斷言

用於查詢在某些內容(但並不包括這些內容)之前或之後的東西,也就是說它們像\b,^,$那樣用於指定乙個位置,這個位置應該滿足一定的條件(即斷言),因此它們也被稱為

零寬斷言

(?=exp)也叫

零寬度正**先行斷言

,它斷言自身出現的位置的後面能匹配表示式exp

(?<=exp)也叫

零寬度正回顧後發斷言

,它斷言自身出現的位置的前面能匹配表示式exp

負向零寬斷言

用於查詢在某些內容(但並不包括這些內容)之前或之後的東西不存在

零寬度負**先行斷言

(?!exp),斷言此位置的後面不能匹配表示式exp

零寬度負回顧後發斷言(?

斷言此位置的前面不能匹配表示式exp

注釋 描述性的語言,不進行操作。

貪婪與懶惰

貪婪:盡可能多的匹配字元

懶惰:盡可能少的匹配字元

平衡組/遞迴匹配

(?'group')

把捕獲的內容命名為group,並壓入

堆疊(stack)

(?'-group')

從堆疊上彈出最後壓入堆疊的名為group的捕獲內容,如果堆疊本來為空,則本分組的匹配失敗

(?(group)yes|no)

如果堆疊上存在以名為group的捕獲內容的話,繼續匹配yes部分的表示式,否則繼續匹配no部分

(?!)

零寬負向先行斷言,由於沒有字尾表示式,試圖匹配總是失敗

第乙個就是在黑板上寫乙個"group",第二個就是 從黑板上擦掉乙個"group",第三個就是看黑板上寫的還有沒有"group",如果有就繼續匹配yes部分,否則就匹配no部分

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

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

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