python3中re函数如何进行替换
更新时间:2023-12-01Python3中re函数如何进行替换?
在Python3中,使用re.sub()函数完成替换操作,替换过程中我们能够通过操作匹配到的对象对象获取所需的信息。
re.sub()函数的基本使用方式
re.sub()函数用于替换字符串中所有符合正则表达式的内容。以下是re.sub()函数最基本的用法:
import re string = "lmlmlm python lm lm" new_string = re.sub("lm", "java", string) print(new_string)
上述代码中,“lm”是要被替换的正则表达式,而“java”是所要替换成的内容。re.sub()函数会在string中查找每一个符合正则表达式“lm”的部分,并用“java”替换其内容。输出结果为:“lmlmlm python java java”。
利用匹配结果进行替换
通过正则表达式匹配到字符串,可以利用re.sub()的一个特殊用法,将匹配到的内容进行替换。
import re string = "Hello, I'm Jack. I am 20 years old." pattern = "I am (\d+) years old." new_string = re.sub(pattern, "My age is \\1.", string) print(new_string)
代码中使用了正则表达式“(\d+)”来匹配数字,通过小括号将数字作为一个分组,可以通过“\\1”获取到匹配结果。输出结果为:“Hello, I'm Jack. My age is 20.”。
利用函数对匹配结果进行替换
除了直接替换字符串之外,re.sub()函数还可以使用一个函数对匹配结果进行替换。
import re def double(matched): value = int(matched.group('value')) return str(value * 2) string = "A = 1; B = 5; C = 9;" pattern = r'(?P\d+)' new_string = re.sub(pattern, double, string) print(new_string)
在上述例子中,通过自定义函数double()来实现匹配结果的替换。输出结果为:“A = 2; B = 10; C = 18;”
小结
Python3中使用re.sub()函数进行字符串替换,可以在一定程度上实现一些复杂的字符串操作。使用re.sub()函数需要掌握正则表达式的基本用法,通过常规用法、利用匹配结果、函数替换三个方面的介绍,来较为详细地解释re.sub()函数的使用方式。