正規表示式是乙個特殊的字串行,判斷乙個字串是否與某種模式匹配
在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 表示替換所有的匹...