【发布时间】:2015-02-04 09:21:39
【问题描述】:
考虑以下字符串(编辑:这不是解析带有正则表达式问题的 HTML。而只是一个命名组的练习):
s = """<T1>
<A1>
lorem ipsum
</A1>
</T1>"""
是否可以使用re.sub 和命名组将字符串转换成这个结果?
<T1>
<test number="1">
lorem ipsum
</test>
</T1>
现在我有以下代码:
import re
regex = re.compile("(<(?P<end>\/*)A(?P<number>\d+)>)")
print regex.sub('<\g<end>test number="\g<number>">', s)
给出以下结果
<T1>
<test number="1">
lorem ipsum
</test number="1">
</T1>
| 运算符可以像 question 那样使用吗?
【问题讨论】:
-
永远不要使用正则表达式来解析 html 或 xml ,而是使用适合此任务的适当模块,例如
lxml或 ... -
我明白(通常我会一直使用
lmxl)。这只是我对re的理解的练习。