正規表示式是處理字串的強大工具,擁有獨特的語法和獨特的處理引擎,效率可能不如str自帶的方法,但功能十分強大。
特殊字元類子正規表示式中的應用例項描述.
匹配除"\n"之外的任何單個字元。要匹配包括"\n"在內的任意字元,請使用如"[.\n]"的模式
\a匹配字串開始
\b匹配乙個字邊界,即字與空格間的位置。
\b非字邊界匹配。
\d匹配數字字元,等價於[0-9]
\d匹配乙個非數字字元,等價於[^0-9]
\s匹配任意空白字元,包括空格,製表符,換頁符等,等價於[\f\n\r\t\v]
\g匹配最後完成的位置
\s匹配任意非空白字元,等價於[^\f\t\n\v\r]
\w匹配包括下劃線的任意單詞字元,等價於[a-za-z0-9]
\w匹配任意非單詞字元,等價於[^a-za-z0-9]
\z匹配字串結束
\z匹配字串結束,如果存在換行,就只匹配到換行結束前的字元
字元類在正規表示式中的應用例項
描述[pp]ython
匹配'python'或'python'
rub[ye]
匹配'ruby'或'rube'
[aeiou]
匹配中括號內的任意乙個字元
[0-9]
匹配任意乙個數字,類似於[0123456789]
[a-z]
匹配任意小寫字母
[a-z]
匹配任意大寫字母
[a-za-z0-9]
匹配任意字母和數字
[^0-9]
匹配任意除了數字之外的字元
[^aeiou]
匹配除了aeiou之外的所有字元
非列印字元字元非列印字元也可以是正規表示式的組成部分。下表列出了表示非列印字元的轉義序列
描述\cx
匹配由x指明的控制字元。例如, \cm 匹配乙個 control-m 或回車符。x 的值必須為 a-z 或 a-z 之一。否則,將 c 視為乙個原義的 'c' 字元。
\f匹配乙個換頁符。等價於 \x0c 和 \cl。
\n匹配乙個換行符。等價於 \x0a 和 \cj。
\r匹配乙個回車符。等價於 \x0d 和 \cm。
\s匹配任何空白字元,包括空格、製表符、換頁符等等。等價於 [ \f\n\r\t\v]。
\s匹配任何非空白字元。等價於 [^ \f\n\r\t\v]。
\t匹配乙個製表符。等價於 \x09 和 \ci。
\v匹配乙個垂直製表符。等價於 \x0b 和 \ck。
模式修正所謂模式修正符,即可以在不改變正規表示式的情況下,通過模式修正符改變正規表示式的含義,從而實現一些匹配結果的條正等功能。比如,可以使用修正符i讓匹配時不區分大小寫
常見的模式修正符及其含義符號
含義i匹配時忽略大小寫
m多行匹配
l做本地化識別匹配
u根據unicode字符集解析字元
s讓.匹配包括換行符,即用了該模式修正後,"."匹配就可以匹配任意字元了
認識正規表示式
正規表示式是乙個特殊字串行,能幫助使用者檢查乙個字串是否與某種模式匹配,從而達成快速檢索或替換符合某個模式 規則的文字。例如,可以在文件中使用乙個正規表示式表示式表示特定文字,然後將其全部刪除或替換成別的文字。python自1.5版本起增加了re模組,它提供了perl風格的正規表示式模組,re模組使...
正規表示式學習筆記之一 簡單認識正規表示式
正規表示式是什麼東東?在編寫處理字串的程式或網頁時,經常會有查詢符合某些複雜規則的字串的需要。正規表示式就是用於描述這些規則的工具。換句話說,正規表示式就是記錄文字規則的 很可能你使用過windows dos下用於檔案查詢的萬用字元 wildcard 也就是 和?如果你想查詢某個目錄下的所有的wor...
正規表示式學習筆記之一 簡單認識正規表示式
正規表示式是什麼東東?在編寫處理字串的程式或網頁時,經常會有查詢符合某些複雜規則的字串的需要。正規表示式就是用於描述這些規則的工具。換句話說,正規表示式就是記錄文字規則的 很可能你使用過windows dos下用於檔案查詢的萬用字元 wildcard 也就是 和?如果你想查詢某個目錄下的所有的wor...