茗香乐苑

导航

Python正则表达式的具体应用例子及注释


lst = re.findall(r'\d+',"我的电话号是:10086,我女朋友的电话是:10010")
print(lst)

# finditer:匹配字符串中所有的内容【返回的是迭代器】,从迭代中拿内容,用“.group”
num = re.finditer(r"\d+","我的电话号是:10086,我女朋友的电话是:10010")
for i in num:
    print(i)
    """
    用for 循环在迭代器拿出的结果为:
    <re.Match object; span=(7, 12), match='10086'>
    <re.Match object; span=(22, 27), match='10010'>
    """
    print(i.group())  #用group拿出的结果为10086和10010两个数字


#search,找到一个结果就返回,返回的对象是match对象,要从match对象中拿数据,也用group().

s = re.search(r"\d+","我的电话号是:10086,我女朋友的电话是:10010")
print(s.group()) # 返回的是:10086,拿不到10010

#match
s = re.match(r"\d+","我的电话号是:10086,我女朋友的电话是:10010")
print(s.group) #匹配不到数据,因为match是从头开始匹配 后面的字符串里面数字开头就可以匹配到

#预加载正则表达式
obj = re.compile(r"\d+")
ret = obj.finditer("我的电话号是:10086,我女朋友的电话是:10010")
print(ret) # 同上面的结果
set_2 = obj.findall("我是一个小宝贝,我的电话是:1000000")
print(set_2) #也匹配出后面那一串数字
"""
一个obj可以给多个字符串匹配
"""

posted on 2024-03-07 23:03  茗香乐苑  阅读(40)  评论(0)    收藏  举报