正则表达式Python在某个单词后添加字符

时间:2013-12-22 23:56:00

标签: python regex

我有一个文本文件,每次出现“get”字样时,我需要在其后插入一个@符号。

在Python中如何使用正则表达式在特定单词后添加字符?现在我正在逐字解析这行,我不完全理解正则表达式编写代码。

1 个答案:

答案 0 :(得分:21)

使用re.sub()提供替换,使用反向引用重新使用匹配的文本:

import re

text = re.sub(r'(get)', r'\1@', text)

(..)括号标记一个组,\1在指定替换时引用该组。因此get替换为get@

演示:

>>> import re
>>> text = 'Do you get it yet?'
>>> re.sub(r'(get)', r'\1@', text)
'Do you get@ it yet?'

该模式将匹配字符串中任何位置的get;如果您需要将其限制为整个单词,请添加\b个锚点:

text = re.sub(r'(\bget\b)', r'\1@', text)