立即学习:https://edu.csdn.net/course/play/6861/335840?utm_source=blogtoedu
正则表达式之通配符
英文状态的句号点 .
指找任意字符(如数字、字母、标点符号、汉字等),但附了换行符\n
反斜扛 \
表示转义符 用于转换含义的符号
\n: 指代换行;
\t: 指代Tab制表符;
\d: 指代0~9中的符一数字;
\s: 指代任意一种空白(如空格、Tab、换行等);
\w: 指代字母、数字和下划线中的任意一种(共63种);
\.: 指代句号点本身;
\\: 指代反斜杠本身;
英文状态的中括号[]
指代字符集合,当需要特定字符匹配时,可以选择中括号
中括号中不要画蛇添足,自行加点,逗号等字符。
举个例子:
#提取出动力总成的值
import re
s2 = 'JEEP 自动光搭载了2.0T 和2.4L两种发动机动力总成,新自由光塔载了2.0T和2.4T 两种发动机动力总成!,质保期2.5年。 '
#re.findall('2..[TL]',s2)
re.findall('2..[a-zA-Z]',s2)
英文状态的圆括号()
指代特定内容的截取(抠)
举个例子:
import re
s4 = 'ID:1,Name:Qz,age:30,ID:2,Name:Qz1,age:32'
#re.findall('age:\d\d',s4)
re.findall('age:(\d\d)',s4)
英文状态的问号?
表示匹配前一个字符0次或1次
加号+
表示匹配前一个字符1次及以上
星*
表示 匹配前一个字符0次及以上
举个例子:
s7 = ['京东超市发货真快啊','东西物美价廉','比超市划算很多1','已经买过很多次','纯牛奶','味道纯真','蛮好.喝的。2','牛奶很好喝','味道很好','还有一股香味','3','牛奶很好','味道香甜','价廉物美','4','味道不错','纯.度高','有的牛奶喝着很淡','这个味道感觉很好']
s8 = []
for i in s7:
s8.extend(re.findall('.*牛奶.*',i))
s8
英文状态的大括号{}
表示匹配前一个字符特定次数或范围
{m}:匹配前一个字符m次;
{m,}:匹配前一个字符至少m次;
{m,n}:匹配前一个字符m~n次;
{,n}:匹配前一个字符之多n次;
举个例子:
#手机号
import re
s9 = ['12313','adsfadf','18907181111']
s10 = []
for i in s9:
s10.extend(re.findall('1\d{10}',i))
s10