The use of regular expressions (2)

The use of regular expressions (2)

"""
    正则表达式的使用(二)
    案例使用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))  # ['Alex', '1994', 'Sunny', '1996']
s1 = re.sub(pattern, ":", s)
print(s1)                    # Alex:1994:Sunny:1996
s2 = re.subn(pattern, ":", s)
print(s2)                    # ('Alex:1994:Sunny:1996', 3)

Use of regular expressions (3) Functions that generate match objects

"""
    正则表达式的使用(三)     生成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)  # <re.Match object; span=(0, 15), match='今年是2023年,建国74周年'>
print(m.group())

# 匹配字符串开始位置
m1 = re.match('\w+', s)
print(m1)  # <re.Match object; span=(0, 8), match='今年是2023年'>

# 匹配到第一处符合正则要求的内容
m2 = re.search('\d+', s)
print(m2)    # <re.Match object; span=(3, 7), match='2023'>

Guess you like

Origin blog.csdn.net/m0_51489557/article/details/130254677