正则表达式的使用(二)
"""
正则表达式的使用(二)
案例使用re模块直接调用,也可以使用正则对象调用以下函数,与findall使用一致
re.split(pattern,string,flags = 0)
功能:使用正则表达式匹配内容,切割目标字符串
返回值:切割后的内容列表
re.sub(pattern,replace,string,max,flags = 0)
功能:使用一个字符串替换正则表达式匹配到的内容
参数:max 最多替换几处 默认全部
返回值:替换后的字符串
re.subn(pattern,replace,string,max,flags = 0)
返回值:替换后的字符串和替换了几处
"""
import re
s = "Alex:1994,Sunny:1996"
pattern = r'[:,]'
print(re.split(pattern, s))
s1 = re.sub(pattern, ":", s)
print(s1)
s2 = re.subn(pattern, ":", s)
print(s2)
正则表达式的使用(三) 生成match对象的函数
"""
正则表达式的使用(三) 生成match对象的函数
案例使用re模块直接调用,也可以使用正则对象调用以下函数,与findall使用一致
re.finditer(pattern,string,flags = 0)
返回值:匹配结果的迭代器
re.fullmatch(pattern,string,flags = 0)
功能:完全匹配某个目标字符串
返回值:匹配内容 match object
re.match(pattern,string,flags = 0)
功能:匹配某个目标字符串的开始位置,匹配到一处
返回值:匹配内容的 match object
re.search(pattern,string,flags = 0)
功能:匹配到第一处符合正则要求的内容
返回值:匹配内容的 match object
"""
import re
s = "今年是2023年,建国74周年"
pattern = r'\d+'
it = re.finditer(pattern, s)
for i in it:
"""
一个match对象,对应一处匹配内容
<re.Match object; span=(3, 7), match='2023'>
<re.Match object; span=(11, 13), match='74'>
"""
print(i)
print(i.group())
m = re.fullmatch('\w+,\w+', s)
print(m)
print(m.group())
m1 = re.match('\w+', s)
print(m1)
m2 = re.search('\d+', s)
print(m2)