我通常使用lxml来解析xml,但在这种情况下,我只需要更改单个标记的内容。
<sales_start_date>YYYY-MM-DD</sales_start_date>
YYYY-MM-DD是一个可变日期。
我如何将上述内容替换为:
<sales_start_date>2013-01-01</sales_start_date>
这是我目前拥有的(哪种作品)
re.sub('<sales_start_date>[\d-]+</sales_start_date>',
'<sales_start_date>2013-01-01</sales_start_date>',
data)
答案 0 :(得分:1)
试
re.sub('<sales_start_date>.+</sales_start_date>',
'<sales_start_date>2013-01-01</sales_start_date>',
data)
答案 1 :(得分:1)
由于你知道确切的标签,这很简单,只需抓住任何字符,直到下一个标签(任何字符不是<
):
re.sub('<sales_start_date>[^<]+</sales_start_date>',
'<sales_start_date>2013-01-01</sales_start_date>',
data)
答案 2 :(得分:0)
您可以使用更具体的正则表达式,例如:
r'<sales_start_date>\d{4}-\d{2}-\d{2}</sales_start_date>'
答案 3 :(得分:-1)
[\ d - ] +不会与YYYY-MM-DD匹配,只会与YYYY-MM匹配 -
尝试[\ d - ] + \ d或\ d + - \ d + - \ d +