【发布时间】:2017-09-23 10:39:24
【问题描述】:
我有一个文本文件,我需要在其中替换几个单词。 文件内容是
user "username"
password "P@ssword"
dbname "SOME_DB_NAME"
我正在尝试这个
r = re.compile('{}\s"([\w@#$%^&*]+)"'.format('password'))
r.sub('new_passw0rd', file)
结果中 re.sub 替换了正则表达式匹配的所有符号如何只替换匹配的组?
【问题讨论】:
-
捕获您需要保留的内容并在替换模式中使用反向引用。见this regex demo。你在寻找这个结果吗,
"P@ssword" password? -
r.sub('password "new_passw0rd"', file) -
@WiktorStribiżew 我正在寻找这个结果:密码“new_passw0rd”
-
那你在这里甚至不需要组。
-
查看我的第一条评论——你只是不要使用反向引用。捕获所有其余部分。
标签: python regex python-3.x