使用正则表达式编辑

时间:2014-10-16 14:04:28

标签: python regex string

所以我有一个字符串,我也有一个正则表达式的字符串。我只想在该字符串中添加8到一个数字。我想知道如何更改组的值,然后将匹配对象返回到字符串。

这是我想要做的一个例子。

m = re.match(r"(\w+) (\w+)", "Isaac Newton, physicist")
m.group(1) = 'john'
//then some how return the value back to a string 

所以字符串将是“john Newton,物理学家”

1 个答案:

答案 0 :(得分:3)

您需要使用re.sub而不是re.match,并使用repl中匹配的已捕获群组。例如:

>>> import re
>>> re.sub(r"(\w+) (\w+)", r"john \2", "Isaac Newton, physicist")
'john Newton, physicist'

此处r"john \2"表示&#34;将匹配替换为单词'john',将第二个捕获的组替换为pattern&#34; 。< / p>