正規表示式

2022-03-18 19:07:27 字數 1150 閱讀 8696

一種匹配字串的表示式,使用re模組。正規表示式是一種獨立的語法,和python沒有任何的關係

程式領域

自動化開發

(一)、元字元

約束範圍的混合使用

字元組中的約束字元內在的依賴的條件是按照ascii來進行的,每乙個字元都對應乙個ascii標碼,約束範圍中字元的字元

對應的ascii碼的順序必須是從小往大,不能反過來,例如a-z可以,但是a-z不行,因為a的編碼比a的編碼大。

元字元\d:匹配非數字

\w:匹配非數字、字母、下劃線

\s:匹配非空白(製表符、空格和換行符)

[\w\w]、[\s\s]和[\d\d]都表示全集,即所有的字元都滿足要求

\b:匹配乙個單詞的邊界

^:匹配字串的開始

$:匹配字串的結尾

|:或關係,只能從兩個中匹配乙個,例如:a|b, 只能匹配a或者b

.:點號匹配換行符外的所有字元。如果要匹配點號必須使用轉義字元,即.表示點號。

?:表示的是把未匹配的字元也當作匹配上的字元,當使用?時需要注意的是當沒有寫任何內容的時候也表示匹配上了乙個字元。

使用?主要用在修飾的字元可有可無或者是這個字元可以選擇的情況下,例如:\d.?\d裡點號是可有可無的,整數和一位小數都符合要求

除了這種情況,其他的情況^都在字元組外.

需要注意的是:

或關係兩頭如果有重合的部分,那麼必須把長的一方放在'|'的前邊

(二)、量詞

量詞限制的是字元的個數,即同乙個字元出現的次數

*、?和 *使用的時候不能加{},其他的數字使用的時候必須加上{}

.*?x這種形式最為常見,匹配任意字元直到找到x

??:[.??]表示的是可以匹配1到無數個點號

+?(三)、分組

分組使用()把多個字元轉換成乙個整體的字元,這個字元可以和單字元一樣使用

例如:匹配整數和小數的正則

在python中''表示的是轉義符。

量詞只修飾前邊乙個元字元

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

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

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