处理嵌套的正则表达式

时间:2015-10-27 08:58:28

标签: python regex

我正在学习正则表达式,试验HTML文件,我有一个正则表达式问题,

我的文字是:

text='12<a>1<a>2</a>3</a>13<a>4<a>5</a>6</a>14'    

表达式

<a><a></a></a> is nested

我想写一个可以处理嵌套表达式的正则表达式,例如,上面文本的输出应该是

Output :    121314

我使用正则表达式,

re.sub('<a>(.+?)</a>', '', text, flags=re.DOTALL)

我得到一个输出:

'123</a>136</a>14'

这是因为正则表达式无法处理嵌套表达式。

2 个答案:

答案 0 :(得分:1)

这个怎么样?

while re.search(r'<a>\d*</a>', text):
    text = re.sub(r'<a>\d*</a>', '', text)

答案 1 :(得分:-1)

re.sub(r"\b\d{0,1}\b<\/?a>\b\d{0,1}\b", r"", text)