15 python講義筆記 正規表示式

2021-10-09 09:04:25 字數 1497 閱讀 4732

長度

是否是0開頭

給定的字串是否符合正規表示式的過濾邏輯(稱作「匹配」);

可以通過正規表示式,從字串中獲取我們想要的特定部分。

靈活性、邏輯性和功能性非常強;

可以迅速地用極簡單的方式達到字串的複雜控制。

對於剛接觸的人來說,比較晦澀難懂。

場景:如何判斷乙個字串是手機號呢?

判斷郵箱為163或者126的所有郵件位址

假如你在寫乙個爬蟲,你得到了乙個網頁的html原始碼。其中有一段

"start_index = s.find('')

表達

功能\a:

表示從字串的開始處匹配

\z:表示從字串的結束處匹配,如果存在換行,只匹配到換行前的結束字串。

\b:匹配乙個單詞邊界,也就是指單詞和空格間的位置。例如, 『py\b』 可以匹配"python" 中的 『py』,但不能匹配 「openpyxl」 中的 『py』。

\b:匹配非單詞邊界。 『py\b』 可以匹配"openpyxl" 中的 『py』,但不能匹配"python" 中的 『py』。

\d:匹配任意數字,等價於 [0-9]。 digit

\d:匹配任意非數字字元,等價於 [^\d]。not digit

\s:匹配任意空白字元,等價於 [\t\n\r\f]。 space

\s:匹配任意非空白字元,等價於 [^\s]。

\w:匹配任意字母數字及下劃線,等價於[a-za-z0-9_]。

\w:匹配任意非字母數字及下劃線,等價於[^\w]

\:匹配原義的反斜槓\。

『.』用於匹配除換行符(\n)之外的所有字元。

『^』用於匹配字串的開始,即行首。

『$』用於匹配字串的末尾(末尾如果有換行符\n,就匹配\n前面的那個字元),即行尾。

表達功能

『*』用於將前面的模式匹配0次或多次(貪婪模式,即盡可能多的匹配) >=0

『+』用於將前面的模式匹配1次或多次(貪婪模式) >=1

『?』用於將前面的模式匹配0次或1次(貪婪模式) 0 ,1

『』用於驗證將前面的模式匹配m次

『』用於驗證將前面的模式匹配m次或者多次 >=m

『』用於驗證將前面的模式匹配大於等於m次並且小於等於n次

『*?,+?,??』

即上面三種特殊字元的非貪婪模式(盡可能少的匹配)。

『』用於將前面的模式匹配m次到n次(貪婪模式),即最小匹配m次,最大匹配n次。

『?』即上面『』的非貪婪版本。

表達功能

『\』:

''是轉義字元,在特殊字元前面加上\,特殊字元就失去了其所代表的含義,比如+就僅僅代表加號+本身。

『』用於標示一組字元,如果^是第乙個字元,則標示的是乙個補集。比如[0-9]表示所有的數字,[^0-9]表示除了數字外的字元。

『|』比如a|b,用於匹配a或b。

『(…)』

用於匹配括號中的模式,可以在字串中檢索或匹配我們所需要的內容。

1 5 Python內建函式

如果你熟悉 shell 程式設計,了解什麼是 shell 內建命令,那麼你也很容易理解什麼是 python 內建函式,它們的概念是類似的。將使用頻繁的 段封裝起來,並給它起乙個名字,以後使用的時候只要知道名字就可以,這就是函式。函式就是一段封裝好的 可以重複使用的 它使得我們的程式更加模組化,不需要...

15 Python 物件導向

物件導向 oop 是一種對現實世界理解和抽象的方法,物件的含義是指在現實生活中能夠看得見摸得著的具體事物,一句比較經典的描述是一切皆物件,python 是一門物件導向的語言,物件導向程式設計簡單來說就是一種封裝 的方式。物件導向相關概念 1.類 python 中類的定義使用 class 關鍵字 cl...

15 Python物件導向

2 物件導向程式設計的主要概念 3 物件導向設計原則 本文主要介紹物件導向程式設計的主要概念以及物件導向設計原則。在進行開發的時候經常會提到物件導向,在物件導向的世界引入了物件的概念,物件既有屬性又有對應的過程,這裡的屬性通常就是指我們的資料成員,過程就是指我們的成員函式,函式的作用就是處理屬性。在...