python正則基礎

2021-09-28 17:09:54 字數 1906 閱讀 8168

正規表示式中最基本的單位

普通字元:a,b,c,a,b,c

非列印字元\n換行\ttab鍵

通用字元 字元

描述\w

匹配字母數字及下劃線

\w匹配除\w外其他字元

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

\s匹配除\s外其他

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

\d匹配除\d外其他

原子表

裡定義一組地位平等的原子,匹配時任意匹配其中乙個

[^]表示除括號裡的原子均可匹配

正則中具有特殊含義的字元

模式描述

.除換行符\n^開頭

$結尾*匹配前面0,1或多次

?匹配前面0,1次

+匹配前面1或多次

匹配前面n次

匹配前面至少n次

匹配前面n~m次

|模式選擇符

()模式單元符,括號內當做乙個原子

不改變正規表示式,通過修正符改變表示式含義

模式描述

i不區分大小寫

m多行匹配,跳出^$的限制

u根據unicode字元及解析字元

s讓"."匹配包括換行符在內的任意字元

x為了增加可讀性,忽略空格和』 # '後面的注釋

貪婪模式:p.*y匹配從p到最後乙個y

懶惰模式:p.*?y匹配從p到第乙個y,比貪婪模式多加乙個?

python3使用re模組

函式描述

re.match(pattern, string, flags=0)

從string起始字串開始匹配

re.search(pattern, string, flags=0)

從string任意位置開始匹配

re.sub(pattern,repl,string,count)

替換函式,repl引數可以是個函式,count替換多少次

re.compile(pattern)

編譯正規表示式,結合findall等其他函式使用

re.findall(string[, pos[, endpos]])

匹配所有子串,並返回乙個列表,如果沒有找到匹配的,則返回空列表。

re.finditer

和 findall 類似,在字串中找到正規表示式所匹配的所有子串,並把它們作為乙個迭代器返回。

findall()

match,search只找到乙個就停止,findall把所有匹配找出來

p = re.compile(pattern)

result = p.findall(string)

group([group1, …]) 方法用於獲得乙個或多個分組匹配的字串,當要獲得整個匹配的子串時,可直接使用 group() 或 group(0);

start([group]) 方法用於獲取分組匹配的子串在整個字串中的起始位置(子串第乙個字元的索引),引數預設值為 0;

end([group]) 方法用於獲取分組匹配的子串在整個字串中的結束位置(子串最後乙個字元的索引+1),引數預設值為 0;

span([group]) 方法返回 (start(group), end(group))。返回索引

python基礎 正則

計算器 re模組 正規表示式 字串匹配的 學習正規表示式 學習使用re模組來操作正規表示式 while true phone number input please input your phone number if len phone number 11 and phone number.isd...

python基礎 Re正則

正規表示式 regular expression,簡稱re 正規表示式是對字串操作的 種邏輯公式,就是 事先定義好的 些特定字元 及這些特定字元的組合,組成 個 規則字串 這個 規則字串 來表達對字串的 種過濾邏輯。字串的匹配查詢 re模組中的findall函式可以對指定的字串進行遍歷匹配,獲取字串...

Python基礎知識 正則

import re str4 r id w w w s re.match str4,id 3aea5f99 6797 48bc 8b62 767a16d748c1 print s,type s if str s none print 1 else print 2 python正則寫法 1 匯入re ...