1. 程式人生 > >筆記(Python核心程式設計 第 1 部分 通用應用主題 1 章 正則表示式)

筆記(Python核心程式設計 第 1 部分 通用應用主題 1 章 正則表示式)

                     Python核心程式設計

第 1 部分 通用應用主題

1 章 正則表示式

  1. 管道符號(|):表示一個“從多個模式中選擇其 一”的操作。它用於分割不同的正則表示式。就能夠增強正則表示式的靈活性,使得正則表示式能夠匹配多個字串 而不僅僅只是一個字串。擇一匹配有時候也稱作並(union)或者邏輯或(logical OR)。

Match()match()試圖從字串的起始部分開始匹配模式

#匹配成功

>>> import re

>>> m = re.match('foo', 'foo')

>>> if m is not None:

...      m.group()

...

'foo'

#匹配失敗

>>> m = re.match('foo', 'bar')

>>> if m is not None:

...      m.group()

...

Search():search()函式不但會搜尋模式在字串中 第一次出現的位置,而且嚴格地對字串從左到右搜尋。

使用 group()方法訪問每個獨立的子組以及 groups()方法以獲取一 個包含所有匹配子組的元組。

findeall:

findall()查詢字串中某個正則表示式模式全部的非重複出現情況。這與 search()在執行 字串搜尋時類似,但與 match()和 search()的不同之處在於,findall()總是返回一個列表。。如 果 findall()沒有找到匹配的部分,就返回一個空列表,但如果匹配成功,列表將包含所有成 功的匹配部分(從左向右按出現順序排列)。

注意,使用 finditer()函式完成的所有額外工作都旨在獲取它的輸出來匹配 findall()的輸出。 最後 ,與 match()和 search()類似,findall()和 finditer()方法的版本支援可選的 pos 和 endpos 引數,這兩個引數用於控制目標字串的搜尋邊界.

 sub() subn():都是將某字 符串中所有匹配正則表示式的部分進行某種形式的替換。用來替換的部分通常是一個字串, 但它也可能是一個函式,該函式返回一個用來替換的字串。subn()和 sub()一樣,但 subn() 還返回一個表示替換的總數,替換後的字串和表示替換總數的數字一起作為一個擁有兩個 元素的元組返回。