這篇不是Python教學,是我的Python 正規表示法(Regular Expression)的筆記,截圖是在Jupyter notebook上寫的。會不定期更新。
[翻譯名稱]
Regular Expression,一般簡稱為RE,翻譯成"正規表示法"、"正規表達式"、"規則運算式"、"常規表示法",我從前學到的翻譯是正規表示法,所以我一直是用這名稱。
[RE版本]
在看Python的RE時,感覺和vi的有點不一樣,Google了一下資料,發現vi的是Basic Regular Expression (BRE),而Python支援的是Perl Compatible Regular Expression (PCRE)。
[正規表示式的特殊字元]
\d 代表0-9的整數字元
\D 代表0-9整數字元外的其他字元
\s 空白字元、Tab、換行字元、換頁字元
\S 非空白字元
\w 英、數字元和底線
\W 非英、數字元和底線
[載入Regualr Expression模組]
正規表式法不是Python的標準模組,必須載入Regular Expression (re)模組才能使用。
[利用re.compile()建立Regex物件]
Regex是Regular Expression的縮寫,可把搜尋的規則寫在Regex物件裡。
[使用Regex物件裡的search()方法來搜尋]
如果沒有匹配的字串,會回傳None。如果有匹配的字串,會回傳匹配的第一筆資料。
如果沒有匹配的字串,會回傳空串列。如果有匹配的字串,會回傳匹配的資料存到串列裡。
[使用Regex物件裡的match()方法來搜尋]
match()和search()有點像,但match()只會去找被字串開頭的匹配。
[使用管線Pipe來搜尋]
和Linux指令一樣,pipe的符號為|,像OR(或)的動作。
在搜尋時,小括號裡的字串不是必要的,可在小括號後加個?來表達。換句話說,小括號裡的字串可以有或沒有。
re.sub(A, B, C),其中A是舊(被搜尋)的字串,B是要新的字串,C是整個要被搜尋的字串。也就是說在C裡面,如果有找到A,就把A換成B。
沒有留言:
張貼留言