常用函数:
1.re.match开始位置匹配,没有匹配到就返回(即使正则表达式没有用^声明匹配开头)input="入门小站"
#P分组命名
reg=re.compile(r'(?P入门)')
res=reg.match(input)
if res:
print(res.groupdict())
print(res.groups())
print(res.groups()){'name': '入门'}
('入门',)
('入门',)
2.re.search搜索整个字符串# 扫描整个 字符串 找到匹配样式的第一个位置,并返回一个相应的 匹配对象。如果没有匹配,就返回一个 None
input='''
入门小站
入门
入门教程
'''
reg=re.compile(r'入门(?:小站|教程)',re.S)
res=reg.search(input)
if res:
print(res.group())入门小站
3.re.findall查找到字符串所有的匹配项,并返回一个listinput='''
入门小站
入门
入门教程
'''
# re.M多行模式匹配
reg=re.compile(r'^入门(?:小站|教程)$',re.M)
res=reg.findall(input)
if res:
print(res)['入门小站', '入门教程']
4.re.split字符串分割# split(pattern, string, maxsplit=0, flags=0)
# maxsplit 最大的分割次数
input='''
入门
123
小站
dd
入门
'''
reg=re.compile(r'[a-z0-9]+')
res=reg.split(input)
print(res)
reg=re.compile(r'[a-z0-9]+')
res=reg.split(input,1)
print(res)['\n入门\n', '\n小站\n', '\n入门\n']
['\n入门\n', '\n小站\ndd\n入门\n']
5. re.sub字符串替换# 语法 sub(pattern, repl, string, count=0, flags=0)
# repl 被替换成的字符串
# count指定替换的次数
input='''
入门
123
小站
456
dd
入门
'''
reg=re.compile(r'([a-z0-9]{1,})',re.M)
res=reg.sub('11',input)
print(res)
# 替换1次
reg=re.compile(r'([a-z0-9]{1,})',re.M)
res=reg.sub('11',input,1)
print(res)入门
11
小站
11
11
入门
入门
11
小站
456
dd
入门
6. re.subn# 语法 subn(pattern, repl, string, count=0, flags=0)
# repl 被替换成的字符串
# count指定替换的次数
# 返回结果中包含替换的次数
input='''
入门
123
小站
456
dd
入门
'''
reg=re.compile(r'([a-z0-9]{1,})',re.M)
res=reg.subn('11',input)
print(res)('\n入门\n11\n小站\n11\n11\n入门\n', 3)
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CNiRTM5YDZ0IDNjBzMwYmM5kDNzEzM3cTN2QjZ0MjNi9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)