常用元字符:
. : 匹配任意字符,换行符\n除外
* :匹配前一个字符0次或无限次
? :匹配前一个字符0次或1次
? :匹配前一个字符0次或1次
方法:
findall: 匹配所有符合规律的内容,返回包含结果的列表
Search:匹配并提取第一个符合规律的内容,返回一个正则表达式对象(object)
Sub:替换符合规律的内容,返回替换后的值
Search:匹配并提取第一个符合规律的内容,返回一个正则表达式对象(object)
Sub:替换符合规律的内容,返回替换后的值
常见组合:
(.*?) :匹配任意长度的字符串
eg:
eg:
import re
s2 = 'dfxxIxx123xxlovexxddxx'
f = re.search('xx(.*?)xx123xx(.*?)xx',s2).group(2) # group(2)表示输出第二个括号匹配到的内容
print (f) # return love
f2 = re.findall('xx(.*?)xx123xx(.*?)xx',s2)
print (f2[0][1]) #return love
s = '123rgfh123'
output = re.sub('123(.*?)123','00123789',s)
print(output) #return 00123789