元字元
指在正規表示式
中具有特殊意義的專用字元,可以用來規定其前導字元(即位於元字元前面的字元)在目標物件中的出現模式。
字元轉義
特殊字元使用時候需要進行轉義
字元類字元是指計算機中使用的字母、數字、字和符號
分枝條件 指
有幾種規則,如果滿足其中任意一種規則就當成匹配。具體使用「|」分割各各規則 分組
指用「()」來指定子表示式,也叫分組反義
取其相反的值
反向引用
每個捕獲的子匹配項按照它們在
正規表示式
模式中從左到右出現的順序儲存。緩衝區編號從 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...