正規表示式

2022-04-08 23:58:00 字數 1452 閱讀 5752

1. 什麼是正規表示式:

一種匹配字串的規則

2. 正規表示式能作甚莫

制定乙個規則,來確定乙個字串是否符合規則或者從大段的字串中,找到符合規則的

內容登入登錄檔單驗證 ; 爬蟲 ; 自動化開發 ; 日誌開發

3. 正規表示式語法

元字元:

字元組 [ ]  在乙個字元的位置上能出現的內容

[0-9] 表示這一位置上只匹配0到9之間的乙個數字

[a-z] 表示這一位上只能匹配a到z之間的乙個大寫字母(python根據ascii碼的順序確

定a-z的先後範圍)

[a-z] 表示這一位上只能匹配a到z之間的乙個小寫字母(python根據ascii碼的順序確

定a-z的先後範圍)

[0-9][a-z][a-z]表示匹配三個字元,且按照順序滿足每一位置上的條件

[0-9a-za-z]  標識匹配乙個字元,滿足每一範圍的條件.但是沒有順序限制

[^abc] 非字元組 在此種情況,^ 相當於'非', 與[ ]所對應的位置不允許有[ ]內的內容

\d  表示匹配乙個字元,匹配的是乙個數字

\w  表示匹配乙個數字字母下劃線

\s  標識匹配任意乙個空白字元(回車 / \n,空格,製表符 / tab)

\n  表示匹配回車

\t  表示匹配製表符

\d  匹配非數字

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

\s  匹配非空白字元

[\d\d] [\s\s] [\w\w]  表示匹配所有

.匹配除換行符以外的任意字元

\b  匹配乙個單詞的邊界   o\b  表示只匹配以o結尾的邊界  \bo 表示匹配以o開始的邊界

^  匹配字串的開始

$ 匹配字串的結尾

|    表示可以匹配 | 左右的字元都可以( ' 或 ' 的意思)

abc|ab   'abc'和'ab'都可以 ; 

ab|abc   只有ab可以,(從左往右查詢,找到就停止,所以只找'ab',不再往下找)

()  分組 

量詞 ?  +  *  {}

?   表示 0 次或1 次  + 表示 1 次或多次  * 表示 0 次或多次

表示 n 次     n 次以上     n 到 m 次

元字元和量詞結合 , 表示在同一位置可以陪配多個

回溯演算法  (用回溯演算法完成貪婪匹配)

特殊的用法和現象

? 的使用

在量詞後面加個 ? (??  +?   *?)取消貪婪匹配(盡可能多的匹配) 變成惰性

匹配(盡可能少的匹配)

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

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

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