我想用具有相同数量标记的重复字符序列替换XML标记。

例如:

<o:LastSaved>2013-01-21T21:15:00Z</o:LastSaved>

我想将其替换为:
#############2013-01-21T21:15:00Z##############

我们如何为此使用RegEx?

最佳答案

re.sub 接受一个函数作为替换:



这是一个例子:

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标签的规范解决方案是什么。但是你明白了。

10-04 20:22