【发布时间】:2013-01-04 07:40:46
【问题描述】:
s = '''<p>Plain text, <i>italicized phrase,
<i>italicized subphrase</i>, <b>bold
subphrase</b></i>, <i>other italic
phrase</i></p>'''
r1 = r'''(?sx)(
<i>(
(?!</?i>).
|
<i> ( (?!</?i>). )* </i>
)*</i>
)'''
我使用 r1 模式来捕获字符串 s 中的<i>...</i>。
但是无法捕获<i>italicized subphrase</i>。
为什么?
我并不是真的在处理 HTML 代码,而是与 HTML 的嵌套结构类似的东西!我只是以这些代码为例。 我的问题是如何仅在一层嵌套结构中捕获嵌套和嵌套标签。
【问题讨论】:
-
使用合理的 HTML 解析器...
-
啊,请不要尝试使用正则表达式解析 HTML。
-
半相关:stackoverflow.com/q/133601/646543 Tangentally-related-but-funny:stackoverflow.com/q/1732348/646543(查看答案)
-
@Tuim 我不是真的在处理 HTML 代码,而是与 HTML 嵌套类似的东西。我的问题是如何仅在一层嵌套结构中捕获嵌套和嵌套标签。