我有一个文本文件,每次出现"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)