認識正規表示式

2021-10-01 13:20:41 字數 1806 閱讀 5591

正規表示式是處理字串的強大工具,擁有獨特的語法和獨特的處理引擎,效率可能不如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...