美文网首页
python正则表达式3

python正则表达式3

作者: 闲云野鹤_23dd | 来源:发表于2021-04-04 09:01 被阅读0次

    python正则表达式3

    re.sub()

    Python 的re模块提供了re.sub用于替换字符串中的匹配项。

    语法:
    前三个为必选参数,后两个为可选参数。

    re.sub(pattern, repl, string, count, flags)
    
    

    pattern : 正则中的模式字符串。
    repl : 替换的字符串,也可为一个函数。
    string : 要被查找替换的原始字符串。
    count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
    flags : 编译时用的匹配模式

    例子:

    import re
    
    phone = "2004-959-559 # 这是一个电话号码"
    
    # 删除注释
    num = re.sub(r'#.*$', "", phone)
    print ("电话号码 : ", num)
    
    # 移除非数字的内容
    num = re.sub(r'\D', "", phone)
    print ("电话号码 : ", num)
    
    

    输出:

    电话号码 :  2004-959-559 
    电话号码 :  2004959559
    
    

    解释:
    re.sub(r’#.*$’, “”, phone)

    #.*$ : 从#号后面的所有字符,$为最后截止字符
    "" : 替换为空白字符
    
    

    re.sub(r’\D’, “”, phone)

    \D : 匹配所有非数字
    
    

    例子2 :
    需求:
    将下面验证码短信,替换公司为正则学习,验证码为123456,有效分钟数为30

    【果芽科技】您的验证码是8604,请于10分钟内使用,为保障您的账户安全,请勿将此验证短信转发给他人。
    
    
    import re
    
    msg = "【果芽科技】您的验证码是8604,请于10分钟内使用,为保障您的账户安全,请勿将此验证短信转发给他人。"
    
    m1 = re.sub(r'【.*】', "【正则学习】", msg)
    
    m2 = re.sub(r'是.*?,', "是123456,", m1)
    
    m3 = re.sub(r'\d*分', "30分", m2)
    print(m3)
    
    

    相关文章

      网友评论

          本文标题:python正则表达式3

          本文链接:https://www.haomeiwen.com/subject/jindzktx.html