import re
1.編譯乙個正規表示式
patter=re.compile( 'a(.*?)a' ,re.s) .在正則中匹配 除\n換行符之外的所有 符號 加上re.s之後 會匹配 \n
re.match(patter,待匹配的字元) 從待匹配的字元 從頭開始匹配 如果第乙個字元不符合 則匹配失敗
re.search(patter,待匹配的字元) 從待匹配的字元 中 匹配 第乙個符合規則的 字串
re.sub('匹配規則' , ' 替換的字串', '被替換的字元')
re.findall(patter,待匹配的字元) 從待匹配的字元 中 匹配 所有符合規則的 字元
以上方法都可以 使用re.***( 'a(.*?)a' ,待匹配的字元) 的形式
也可以使用patter.***(待匹配的字元) patter.sub( ' 替換的字串', '被替換的字元')
2. 匹配模式
.代表任意字元 *代表0個或無限個 +代表乙個或無限個 ?代表 乙個或0個 也代表非貪婪模式盡量少匹配,以免多匹配
\s 匹配任意空白字元,包括 [\t\n\r\f] \s匹配非空格字元 [^\t\n\r\f]
匹配是應注意哪些看起來沒有的換行符 如\t\n\r\f
re.findall('a.*bc','a\nbc',re.dotall) 匹配結果是 a\nbc re.dotall與re.s一樣
re.findall('a(.*)bc','a\nbc',re.dotall) 匹配結果是 \n
[\s\s]*? 可以匹配中間有空格 或者不是空格的所有字元
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...