Python之正規表示式

2021-08-21 13:37:44 字數 1674 閱讀 3231

正規表示式是乙個特殊的字串行,判斷乙個字串是否與某種模式匹配

在python中,re模組擁有全部的正規表示式功能

在正規表示式中,特定的元素代表特定的含義,這裡舉例一些常用的元素

^匹配字串的開頭

$匹配字串的結尾

*匹配0個或多個字元

+ 匹配1個或多個字元

? 匹配0個或1個字元

匹配n次到m次的字元

a|b匹配a或b

\w匹配數字 字母 和下劃線

\w匹配非數字 字母 和下劃線

\s匹配任意空白字元

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

\a匹配字串開始

\z匹配字串結束,如果有換行,只匹配到換行前的結束字串

\z匹配字串結束

compile函式適用與一系列正規表示式匹配和替換,引數為匹配規則,也就是正規表示式

re.match函式從字串開始位置匹配,如果開始位置不符合規則,直接返回none

可以使用group(num)或groups來分段擷取返回值

函式語法: re.match(pattern,string,flags=0)

pattern:正規表示式規則

string:要進行匹配的字串

flags:標誌位,用於控制正規表示式的匹配方式,可以不寫

具體如下:

import re

pattern=re.compile('(\d+)(\w+)') # 引數中每乙個()就是乙個group組

string=112233python

result=re.match(pattern,content)

if result:

print(result)

print(result.group(0))

print(result.group(1))

print(result.group(2))

else:

print('no')

<_sre.sre_match object; span=(0, 12), match='112233python'>

112233python

112233

python

re.search  掃瞄整個字串,並返回第乙個匹配值

函式語法:

re.search(pattern,string,flags=0(可以不寫這個引數))

print(result.group(0))輸出結果 :    http

re.sub函式用於替換字串中的匹配項

函式語法:

re.sub(pattern,replace,string)

string='今天星期三,1234567'

pattern=re.compile(r'\d.*')

result=re.sub(pattern,'7654321',string)

print(result)

輸出結果:今天星期三,7654321

這三個函式是正規表示式中最常用,最基本的函式,所以要熟練掌握這三個函式

Python之正規表示式

正規表示式正規表示式主要用來匹配字串,例如 判斷乙個字串是否是乙個合法的 思想是用描述性的語言給字串乙個規則。re模組中的match函式提供了這種功能,若匹配成功則返回匹配物件,否則返回none。一 語法 d 表示匹配數字 w 表示匹配字母或數字 可以匹配任意字元 s可以匹配乙個空格或者tab 特殊...

Python之正規表示式

正規表示式元字元如下 匹配除換行符以外的所以字元 規定匹配模式必須出現在目標字串的開頭,例如 hell hello hellboy 規定匹配模式必須出現在目標字串的結尾,例如 ar car bar 其前乙個字元必須在目標物件中連續出現零次或多次 其前乙個字元必須在目標物件中連續出現一次或多次 其前乙...

Python之正規表示式

匯入re模組 檢索和替換 re.sub re.sub pattern,repl,string,count 0,flags 0 pattern 正則中的模式字串 repl 替換的字串,也可為乙個函式 string 要被查詢替換的原始字串 count 模式匹配後替換的最大次數,預設 0 表示替換所有的匹...