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

Eng*_*rad 14 python regex

我有一个文本文件,每次出现"get"这个词时我需要@在它后插入一个符号.

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

Mar*_*ers 26

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

import re

text = re.sub(r'(get)', r'\1@', text)
Run Code Online (Sandbox Code Playgroud)

(..)括号标记的基团,其\1是指指定的替换时的情况.所以get被替换为get@.

演示:

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

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

text = re.sub(r'(\bget\b)', r'\1@', text)
Run Code Online (Sandbox Code Playgroud)