XML タグを、タグと同じ文字数の繰り返し文字のシーケンスに置き換えたいと考えています。
例えば:
<o:LastSaved>2013-01-21T21:15:00Z</o:LastSaved>
私はそれを置き換えたい:
#############2013-01-21T21:15:00Z##############
これに正規表現をどのように使用できますか?
re.sub
関数を置換として受け入れます:
re.sub(pattern, repl, string, count=0, flags=0)
repl
が関数の場合、重複しないパターンが発生するたびに呼び出されます。この関数は、単一の一致オブジェクト引数を取り、置換文字列を返します。
次に例を示します。
In [1]: import re
In [2]: def repl(m):
...: return '#' * len(m.group())
...:
In [3]: re.sub(r'<[^<>]*?>', repl,
...: '<o:LastSaved>2013-01-21T21:15:00Z</o:LastSaved>')
Out[3]: '#############2013-01-21T21:15:00Z##############'
私が使用したパターンには多少の磨きが必要かもしれませんが、XMLタグを照合するための標準的な解決策が何であるかはわかりません。しかし、あなたはその考えを理解します。