📅  最后修改于: 2023-12-03 15:04:39.899000             🧑  作者: Mango
正则表达式在Python中非常常见且常用,它们可以用于面向文本的操作,例如在字符串中进行模式匹配和替换等。
Python中的re模块提供了很多regex函数,其中最常用的是sub()
。
sub()
函数可以用于对字符串进行替换操作,它可以接受3个参数:正则表达式、替换字符串和目标字符串。
下面是一个简单的例子,它将字符串中的所有数字替换成了“#”:
import re
s = "123abc456def789"
result = re.sub(r"\d", "#", s)
print(result)
输出结果:
###abc###def###
在上面的代码中,我们首先导入了re模块,然后定义了一个字符串s,它包含了数字和字母。接着,我们调用了re.sub()
函数,它的第一个参数是正则表达式\d
,这表示“任意数字”。第二个参数是替换字符串“#”,表示将任意数字都替换成了“#”。第三个参数是目标字符串s,表示需要进行替换的字符串。
我们还可以在正则表达式中使用re.sub()
函数的第二个参数中包含对原字符串的引用,例如:
import re
s = "hello world"
result = re.sub(r"(\w+)\s+(\w+)", r"\2 \1", s)
print(result)
输出结果:
world hello
在上面的代码中,我们使用了\w
表示一个或多个字母或数字,“+”表示至少出现一次。将\w+
括在圆括号中,表示将其定义为一个分组。我们在正则表达式中使用了两个分组,分别表示两个单词。
在替换字符串中,我们使用了一个引用\2
和\1
,表示分别引用了第二个和第一个分组。因此,该代码的输出为“world hello”。
总之,替换正则表达式在Python中非常常见且常用。re模块中提供了很多regex函数,其中最常用的是sub()
函数。