Python 正規表示式

2021-05-22 09:52:12 字數 1304 閱讀 5472

1. 在python中,所有和正規表示式相關的功能都包含在re模組中。

2. 字元"$"表示「字串的末尾」,如:"road$"則表示:只有當"road"出現在乙個字串的尾部時才會匹配。

3. 字元"^"表示「字元中的開始」,如:"^road"則表示:只有當"road"出現在乙個字串的頭部時才會匹配。

4. 利用re.sub函式對字串進行搜尋。

5. 字元"/b"表示「單詞的邊界必須在這裡」;如:"/broad", "road/b", "/broad/b"

6. re模組的關鍵是乙個search函式,該函式有兩個引數,乙個是正規表示式,乙個是字串,函式試圖匹配正規表示式。如果發現乙個匹配,search函式返回乙個擁有多種方法可以描述這個匹配的物件;如果沒有發現匹配,search函式返回乙個none,乙個python空值(null value)。

7. 語法:

如果在正規表示式中使用語法,我們則可以允許使前面匹配的字元迭代出現。

c - 表示在字串中可以出現0到3個c。 '', 'c', 'cc', 'ccc'都可以匹配此正規表示式

c - 則表示字串一定要包含3個c。'ccc'是匹配正規表示式的,而且'', 'c', 'cc'則不匹配正規表示式。

8. 鬆散正規表示式

在python中的乙個特殊的特性就是允許使用者使用鬆散正規表示式。乙個鬆散正規表示式和乙個緊湊正規表示式主要區別表現在兩個方面:

記錄乙個鬆散正規表示式的例子:

>>> pattern = """

^ # beginning of string

m # thousands - 0 to 3 m's

(cm|cd|d?c) # hundreds - 900 (cm), 400 (cd), 0-300 (0 to 3 c's),

# or 500-800 (d, followed by 0 to 3 c's)

(xc|xl|l?x) # tens - 90 (xc), 40 (xl), 0-30 (0 to 3 x's),

# or 50-80 (l, followed by 0 to 3 x's)

(ix|iv|v?i) # ones - 9 (ix), 4 (iv), 0-3 (0 to 3 i's),

# or 5-8 (v, followed by 0 to 3 i's)

$ # end of string

""">>> re.search(pattern, 'm', re.verbose) 

python輸出結果:<_sre.sre_match object at 0x008eeb48>

9. 應該熟悉正規表示式的一些技巧:

python正規表示式元字元 正規表示式

字元 描述將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...

Python正規表示式

學習python自然而然就不得不面對正規表示式這個難題。當初在沒有學習python之前,自己也曾經嘗試著學習過正規表示式,但是那時候感覺很麻煩,很難懂,結果就是不了了之。但是現在學習python我用的書是 python基礎教程 第二版 這本書中對re模組的講解很簡單易懂,內容不多但起碼把人領進門了,...

python 正規表示式

正規表示式 re 是一種小型的 高度專業化的程式設計序語言,它內嵌在python中,並通過re模組實現 它可以為想要匹配的相應字串集指定規則 該字串集可以包含英文語句 e mail位址 命令或任何你想要搞定的東西 可以使用re以各種方式來修改或分割字串 import re s r abc re.fi...