码迷,mamicode.com
首页 > 其他好文 > 详细

7替换

时间:2020-05-30 00:53:28      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:最大   正则   替换   模式匹配   模式   flags   pre   通过   正则表达式   

"""替换"""


"""
在字符串中替换子串时,使用模块re并通过正则表达式指定被替换的子串可以实现更加强大的替换功能。模块re提供了两个实现字符串替换的方法
一、sub()
二、subn()
"""

import re

"""
一、sub()
sub(pattern, repl, string, count=0, flags=0):
pattern : 正则中的模式字符串。
repl : 替换的字符串,也可为一个函数。当repl为空字符串时替换就变成删除
string : 要被查找替换的原始字符串。
count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
flags :一个可选标志,用于控制正则表达式匹配方式
"""

print(re.sub(r‘\d+‘, ‘zzg‘, ‘a-123-b-456-c-789-d‘)) # a-zzg-b-zzg-c-zzg-d
print(re.sub(r‘\d+‘, ‘zzg‘, ‘a-123-b-456-c-789-d‘, 2)) # a-zzg-b-zzg-c-789-d

# 当repl为一个函数时举例
def add(match):
val = match.group()
num = int(val) + 1
return str(num)
# 以下运行通过函数替换其结果为:a-124-b-457-c-790-d
print(re.sub(r‘\d+‘, add, ‘a-123-b-456-c-789-d‘))

# 当repl为空字符串时替换就变成删除
print(re.sub(r‘[aeiou]‘, ‘‘, ‘Apple‘, flags=re.I)) # ppl


"""
二、subn()
返回值是包含两个元素的元组:(sub()的返回值,替换次数)
"""
# (‘a-124-b-457-c-790-d‘, 3)
print(re.subn(r‘\d+‘, add, ‘a-123-b-456-c-789-d‘))

7替换

标签:最大   正则   替换   模式匹配   模式   flags   pre   通过   正则表达式   

原文地址:https://www.cnblogs.com/sruzzg/p/12990129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!