python中的正規表示式知識點

2021-08-21 03:10:07 字數 1827 閱讀 8796

1.       正規表示式的基本使用

re.match(r』***』, 匹配的字串) 嘗試從字串的起始位置匹配乙個模式匹配成功re.match方法返回乙個匹配的物件,否則返回none。

可以使用group(num) 或 groups() 匹配物件函式來獲取匹配表示式,groups()返回的是乙個元組。

2.       使用正規表示式匹配單個字元

.      匹配任意1個字元(除了\n)re.s則可以匹配換行

re.i 表示大小寫不敏感

[a-c1-9 ]  匹配[ ]中列舉的任意乙個字元

\d     匹配數字,即0-9

\d    匹配非數字,即不是數字

\s     匹配空白,即 空格,tab鍵

\s     匹配非空白

\w    匹配單詞字元,即a-z、a-z、0-9、_。預設是re.u,即unicode編碼,可以匹配中文,加上re.a即可指定ascii編碼。[a-            za-z0-9_]

\w   匹配非單詞字元

3.       使用正規表示式匹配多個字元

*       匹配前乙個字元出現0次或者無限次,即可有可無

+       匹配前乙個字元出現1次或者無限次,即至少有1次

?       匹配前乙個字元出現1次或者0次,即要麼有1次,要麼沒有

匹配前乙個字元出現m次

匹配前乙個字元出現從m到n次

匹配前乙個字元出現m到無限次

4.       匹配開頭結尾邊界的使用

^       匹配字串開頭 [^a]表示的是只要不是a

$       匹配字串結尾

5.       匹配分組的使用

|       匹配左右任意乙個表示式

(ab)  將括號中字元作為乙個分組

\num        引用分組num匹配到的字串 \1 \2

(?p)     分組起別名

(?p=name)       引用別名為name分組匹配到的字串

6. re高階函式 search、findall、sub等的使用

re.search

掃瞄整個字串並返回第乙個成功的匹配。匹配成功

re.search

方法返回乙個匹配的物件,否則返回

none

。可以使用

group(num)

或groups()

匹配物件函式來獲取匹配表示式。

re.findall

在字串中找到正規表示式所匹配的所有子串,並返回乙個列表,如果沒有找到匹配的,則返回空列表

re.sub

用於替換字串中的匹配項

re.split

根據匹配進行切割字串,並返回乙個列表

7. re.match與re.search的區別

re.match只匹配字串的開始,如果字串開始不符合正規表示式,則匹配失敗,函式返回none;而re.search匹配整個字串,直到找到乙個匹配。

8. 貪婪和非貪婪的特點以及使用方式

python裡正則匹配預設是貪婪的(在少數語言裡也可能是預設非貪婪),總是嘗試匹配盡可能多的字元;非貪婪則相反,總是嘗試匹配盡可能少的字元。在"*","?","+",""後面加上?,使貪婪變成非貪婪

9.  字串前加r的作用

python中字串前面加上 r 表示原生字串

正規表示式知識

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

python正規表示式知識彙總

首先在python中使用正規表示式得先導入re模組 importre re模組 在哪方面會用到正則 什麼是正則?能做什麼 正則規則 0 9 根據sacii進行範圍比對。a z a z 0 9 d 數字 字母 下劃線 w 0 9a za z 空白 t n 空格 t n s 元字元 匹配規則 分組的作用...

python中的正規表示式

正規表示式是一種用來匹配字串的強有力的 它的設計思想是用一種描述性的語言來給字串定義乙個規則,凡是符合規則的字串,我們就認為它 匹配 了,否則,該字串就是不合法的。因為正規表示式也是用字串表示的,所以,我們要首先了解如何用字元來描述字元。在正規表示式中,如果直接給出字元,就是精確匹配。用 d可以匹配...