首页 > 其他 > 详细

re模块的高级使用

时间:2019-12-07 00:07:17      阅读:92      评论:0      收藏:0      [点我收藏+]

主要有四个方法:

  search : 从字符串的任意位置开始检索,首次匹配即结束 

  findall : 全部匹配

  sub : 将正则匹配结果进行替换 

  split : 根据正则匹配结果将字符串进行切分,然后返回一个列表

 

import re

‘‘‘
    search  从字符串的任意位置搜索匹配,检索到第一个匹配的字符串,就结束匹配
‘‘‘

r = re.search(r\d+, 有点饿4556)
print(r)
print(r.group())  # 4556

r = re.search(r^\d+$, 有点饿4556)
print(r)  # None

r = re.search(r\d+, 有点饿4556 rwehjr 789)
print(r)
print(r.group())  # 4556

‘‘‘
    findall  从字符串的任意位置搜索匹配,匹配所有
‘‘‘

r = re.findall(r\d+, 有点饿4556 rwehjr 789)
print(r)  # [‘4556‘, ‘789‘]

‘‘‘
sub  将匹配到的数据进行替换
‘‘‘

r = re.sub(rc, python, c一统江湖, c走向死往)
print(r)  # python一统江湖, python走向死往

r = re.sub(r\d+, 250, c=1000, python=3000)
print(r)  # c=250, python=250


def func(d):
    ‘‘‘表示真正匹配到的结果‘‘‘
    print(d.group())  # 这里会打印 1000, 3000, 说明匹配了两次,也说明了func调用了两次
    return 666  # 这里返回int类型竟然报错


r = re.sub(r\d+, func, c=1000, python=3000)
print(r) # c=666, python=666



def func1(d):
    return  str(int(d.group())+50)

r = re.sub(r\d+, func1, c=1000, python=3000)
print(r) # c=1050, python=3050


‘‘‘
split 切分
‘‘‘

s = admin:root boot,jet
r = re.split(r:|\s|,,s)
print(r) # [‘admin‘, ‘root‘, ‘boot‘, ‘jet‘]

 

 

re模块的高级使用

原文:https://www.cnblogs.com/z-qinfeng/p/12000083.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!