立即學習:https://edu.csdn.net/course/play/6861/335840?utm_source=blogtoedu
英文狀態中中括號[]
指代字符集合,當需要特定的字符串匹配時們可以選擇中括號
#提取用戶的手機號
import re
s4 = ‘用戶的聯繫方式:12345679876’,用戶的編號爲112355464’
re.findall('1[356789]\d\d\d\d\d\d\d\d\d',s4)
#提取出動力總成
import re
s5 = '通過對比新朗逸1.5L和1.5T兩種動力在1.5年行時候的數據,發現1.5T的口碑比較好!'
re.findall('1.5[a-zA-Z]',s4)
英文狀態下的()
指代特定內容的截取(摳取)
#提取出用戶的年齡
import re
s6=‘id:1,name:tom,age:3,gender:1,name:lily,age:5,gender:0’
re.findall('\d',s6)
re.findall('age:\d',s6)
re.findall('age:(\d'),s6)
英文狀態下的問號?
表示匹配前一個字符0次或者1次
#超級鏈接匹配
URL ='https://www.baidu.com/'
URL = 'www.gov.com.cn'
pattern = 'https?://www\..*?'
加號 +
表示匹配前一個字符一次以及以上
#郵箱地址的匹配
email1 = ‘lixing#163.com’
email2 = ‘[email protected]’
pattern = '[-=0-9a-zA-Z_\.\-]+@[a-zA-Z0-9]+\.com'
星號*
表示匹配前一個字符0次以及以上
#提取出產品名稱中包含的奶粉字樣的產品
import re
prod =['嬰兒襪',‘亨氏奶粉’,'奶粉勺','多功能奶瓶',‘幼兒奶粉量筒’,‘’磨牙棒]
res = []
for i in prod
res.extend(re.findall('.*奶粉.*',i))
print(res)
英文中的大括號{}
表示匹配當前一個字符特定的次數或者範圍
{m} 匹配前一個字符m次
{m,}匹配前一個字符至少m次
{,m}匹配前一個字符最多m次
{m,n} 匹配前一個字符m-n次
#手機號匹配
pattern = ‘1[3456789]\d{9}’
#至少6個長度的密碼
pattern = '\w{6,}'
#區號信息
pattern = ‘0\d{2,3}’
九個符號掌握後正則表達式就沒有問題了
元字符 、 句號點 、反斜槓轉義符、[ ]、()、?、+、*、{}