正規表示式:正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成乙個「規則字串」,這個「規則字串」用來表達對字串的一種過濾邏輯。
量詞匹配內容
匹配除換行符以外的任意字元
\w匹配字母或數字或下劃線
\s匹配任意的空白符
\d匹配數字
\n匹配乙個換行符
\t匹配乙個製表符
\b匹配乙個單詞的結尾
匹配字串的開始
匹配字串的結尾
\w匹配非字母或數字或下劃線
\d匹配非數字
\s匹配非空白符
a|b匹配字元a或字元b
匹配括號內的表示式,也表示乙個組
匹配字元組中的字元
匹配除了字元組中字元的所有字元
量詞用法說明
重複零次或更多次
重複一次或更多次
重複零次或一次
重複n次
重複n次或更多次
重複n到m次
貪婪匹配:盡可能多的匹配到結果. ` * `, `+`, `{}`都是貪婪匹配
惰性匹配:盡可能少的匹配 . `?`是惰性匹配
正則待匹配字元
匹配結果
說明a.
abcdefgac
ab ac
只匹配a和a後面乙個字元
a+abcdefgac
a a
a出現一次或多次
a.*abcdefgac
abcdefgac
貪婪匹配 a後面的都能匹配
a.?abcdefgac
空惰性匹配,"a."
^a.abcdefgac
ab只從開頭匹配"a."
a.$abcdefgac
ac只匹配結尾的"a.$" 以acc結尾就無法匹配
正則中用()進行分組,()的優先順序最高
\1獲取第乙個分組內的內容,(數小括號)
如果要在正則中匹配正常的"\n"⽽不是"換⾏符"就需要對"\"進⾏轉義, 變成'\\'.在python中, ⽆論是正規表示式, 還
是待匹配的內容, 都是以字串的形式出現的, 在字串中\也有特殊的含義, 本身還需要轉義. 所以如果匹配⼀次"\n", 字串中要寫成'\\n', 那麼正則⾥就要寫成"\\\\n",這樣就太麻煩了.
此時的正則是r'\\n'就可以做到(在前面加r表示字串不進行轉義,按照原樣匹配,乙個r解決所有.....)
用[ ]括起來,在[ ]內的內容會被匹配
例如[abc] 匹配a或b或c
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...