re.sub(pattern, repl, string, count=0, flags=0)
pattern:表示正则表达式中的模式字符串;
repl:被替换的字符串(既可以是字符串,也可以是函数);
string:要被处理的,要被替换的字符串;
count:匹配的次数, 默认是全部替换
flags:具体用处不详
----------------------- 以上引用来自网络引用-----------------------------
帮助文档
Help on function sub in module re:
sub(pattern, repl, string, count=0, flags=0)
Return the string obtained by replacing the leftmost
non-overlapping occurrences of the pattern in string by the
replacement repl. repl can be either a string or a callable;
if a string, backslash escapes in it are processed. If it is
a callable, it‘s passed the match object and must return
a replacement string to be used.
(END)
--------------------------------------------------------------------------------
应用:
如果要随机替换几人得到的苹果数
importrefrom random importrandint
string1= ‘‘‘1、杨过得到了6个苹果
2、郭靖苹果有8
3、张无忌被送了7个苹果
4、其他人没有得到苹果
5、赵敏得到了18个梨‘‘‘my_string= re.sub(r"\d+\w*苹果|苹果\w*\d+", lambda m: re.sub(r"\d+", lambda m1: str(randint(3, int(m1.group()) + 6)), m.group()), string1)print(my_string)
运行结果:
1、杨过得到了8个苹果2、郭靖苹果有103、张无忌被送了3个苹果4、其他人没有得到苹果5、赵敏得到了18个梨
原文:https://www.cnblogs.com/smoggy/p/10623762.html