python正規表示式

2021-07-11 15:37:39 字數 1022 閱讀 7028

切分字串

用正規表示式切分字串比用固定的字元更靈活,請看正常的切分**:

$ 'a b   c'.split(' ')

$ ['a', 'b', '', '', 'c']

嗯,無法識別連續的空格,用正規表示式試試:

$  re.split(r'\s+', 'a b   c')

$ ['a', 'b', 'c']

無論多少個空格都可以正常分割。加入,試試:

$          re.split(r'[\s\,]+', 'a,b, c  d')

$ ['a', 'b', 'c', 'd']

再加入;試試:

$                    re.split(r'[\s\,\;]+', 'a,b;; c  d')

$ ['a', 'b', 'c', 'd']

如果使用者輸入了一組標籤,下次記得用正規表示式來把不規範的輸入轉化成正確的陣列。

分組除了簡單地判斷是否匹配之外,正規表示式還有提取子串的強大功能。用()表示的就是要提取的分組(group)。比如:

^(\d)-(\d)$分別定義了兩個組,可以直接從匹配的字串中提取出區號和本地號碼:

$        m = re.match(r'^(\d)-(\d)$', '010-12345')

$ m

<_sre.sre_match object; span=(0, 9), match='010-12345'>

$ m.group(0)

'010-12345'

$ m.group(1)

'010'

$ m.group(2)

'12345'

注意到group(0)永遠是原始字串,group(1)、group(2)……表示第1、2、……個子串。

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

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

Python 正規表示式

1.在python中,所有和正規表示式相關的功能都包含在re模組中。2.字元 表示 字串的末尾 如 road 則表示 只有當 road 出現在乙個字串的尾部時才會匹配。3.字元 表示 字元中的開始 如 road 則表示 只有當 road 出現在乙個字串的頭部時才會匹配。4.利用re.sub函式對字串...

Python正規表示式

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