如何在Python中替换第一次出现的正则表达式?

gir*_*ish 34 python regex search replace

我想只替换字符串中第一次出现的正则表达式.有没有方便的方法来做到这一点?

eld*_*his 49

re.sub()有一个count参数,指示要执行多少次替换.您可以将其设置为1:

>>> s = "foo foo foofoo foo"
>>> re.sub("foo", "bar", s, 1)
'bar foo foofoo foo'
>>> s = "baz baz foo baz foo baz"
>>> re.sub("foo", "bar", s, 1)
'baz baz bar baz foo baz'
Run Code Online (Sandbox Code Playgroud)

编辑:以及具有已编译SRE对象的版本:

>>> s = "baz baz foo baz foo baz"
>>> r = re.compile("foo")
>>> r.sub("bar", s, 1)
'baz baz bar baz foo baz'
Run Code Online (Sandbox Code Playgroud)


Nic*_*k T 9

在中指定count参数re.sub(pattern, repl, string[, count, flags])

可选参数count是要替换的模式最大出现次数; count必须是非负整数.如果省略或为零,则将替换所有出现的事件.