我需要替换部分字符串.我正在浏览Python文档并找到了re.sub.
import re
s = '<textarea id="Foo"></textarea>'
output = re.sub(r'<textarea.*>(.*)</textarea>', 'Bar', s)
print output
>>>'Bar'
Run Code Online (Sandbox Code Playgroud)
我期待这打印'<textarea id="Foo">Bar</textarea>'而不是'酒吧'.
谁能告诉我我做错了什么?
Mar*_*ers 79
您可以捕获要保留的部分,然后使用引用将它们包含在替换的字符串中,而不是捕获要替换的部分.\1
试试这个:
output = re.sub(r'(<textarea.*>).*(</textarea>)', r'\1Bar\2', s)
Run Code Online (Sandbox Code Playgroud)
此外,假设这是HTML,您应该考虑使用HTML解析器来完成此任务,例如Beautiful Soup.