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