[Python3] 實用正則表達(dá)式

python正則表達(dá)式相關(guān)函數(shù)

  • import re
  • re.search(condition_str, source_str) :正則匹配字符串中滿足條件的子字符串,返回布爾值。
    re.findall(condition_str, source_str):正則查找字符串中滿足條件的子字符串,返回所有子字符串(the output is a list that has a string as
    the single element in the list)。

正則表達(dá)式 cheat sheet

  • .:匹配任意字符
    a..b : 匹配所有axxb型
    .+ 萬能牌(wild card): a.+b匹配所有以a開頭以b結(jié)尾的字符串
    (a,b間非空)。 x+匹配含有一個或更多x的字符串。(greedy)
    +?+的非greedy模式
    .*:廣譜萬能牌: a.*b匹配所有以a開頭以b結(jié)尾的字符串(a,b間可以無其他字符)。x*匹配含有一個或更多x的字符串。(greedy)
    *?*的非greedy模式
    (+與*都與左數(shù)第一個字符聯(lián)合)
    *和+均為貪心匹配(greedy matching) :matches as many required characters as possible

  • \s : 匹配所有空格字符
    \S:匹配所有非空格字符

  • \b:匹配詞的開始或結(jié)尾
    \B:匹配詞的非開始結(jié)尾

  • \d :匹配所有數(shù)字,相當(dāng)于set[0-9]
    \D:匹配所有非數(shù)字,相當(dāng)于set[^0-9]

  • []:方括號(square bracket)內(nèi)字符為可接受匹配的字符
    當(dāng)[]中第一個字符為^時,括號內(nèi)容被反義。[^A-Za-z]表示匹配除了A-Z和a-z的所有字符。
    ():圓括號(parentheses)內(nèi)字符為在匹配過程中被忽略的字符。但與findall()函數(shù)連用時,雖然依舊用整個正則表達(dá)式查找,但最終得到的返回值只有括號內(nèi)的部分。

  • 轉(zhuǎn)義字符(escape characters) :\

  • ^:匹配行初
    $:匹配行末

應(yīng)用實例

  • 郵件地址
    [a-zA-Z0-9]\S*@\S*[a-zA-Z0-9]
  • 取出所有滿足Details: http://source.saki.org/viewsvn/?view=rev&rev=39772格式的url中的revision numbers
    '^Details:.*rev=([0-9.]+)'

外部鏈接

20個常用正則表達(dá)式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容