0

通常は lxml を使用して xml を解析しますが、今回は 1 つのタグの内容を変更するだけです。

<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)
4

4 に答える 4

1

試す

re.sub('<sales_start_date>.+</sales_start_date>', 
       '<sales_start_date>2013-01-01</sales_start_date>', 
        data)
于 2013-02-08T23:21:20.277 に答える
1

正確なタグがわかっているので、これは非常に簡単です。次のタグまで任意の文字を取得するだけです ( 以外の任意の文字<):

re.sub('<sales_start_date>[^<]+</sales_start_date>', 
       '<sales_start_date>2013-01-01</sales_start_date>', 
        data)
于 2013-02-08T23:22:43.910 に答える
0

次のような、より具体的な正規表現を使用できます。

r'<sales_start_date>\d{4}-\d{2}-\d{2}</sales_start_date>'
于 2013-02-08T23:22:03.073 に答える
-1

[\d-]+ は YYYY-MM-DD には一致しませんが、YYYY-MM- のみに一致します

[\d-]+\d または \d+-\d+-\d+ を試してください

于 2013-02-08T23:17:45.260 に答える