我有一个大数据文件,我想轻松替换值。值名称由标记<VALUE>
表示,后跟各自的文本/数字量,每个值名称在其自己的行上。
我写了正则表达式模式(r'(<VALUE>)(.*)\n)
。我想替换第二组。
我写了以下代码。
def edit_attribute():
with open("file.txt", "w+") as file:
file_string = file.read()
attribute_regex = re.compile(r'(<VALUE>)(.*)\n')
mo = attribute_regex.search(file_string)
#replace mo.group(2)
我尝试使用re的sub方法,但是如果不替换包括值名称在内的整行,我就无法这样做。
感谢任何帮助。
答案 0 :(得分:2)
您不替换捕获组。捕获组用于捕获要保留的字符串部分。然后,您可以在替换字符串中使用反斜杠和组编号引用此值。
newstring = re.sub(r'(<VALUE>).*', r'\1foo', oldstring)
将生成'<VALUE>foo'
。