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 для захвата <i>...</i>
в строке s. Но <i>italicized subphrase</i>
не может быть захвачен. Почему?захватывать вложенные теги с регулярным выражением?
Я не имею дело с кодом HTML, но что-то похожее с структурой гнезда HTML! Я просто беру эти коды, например. Моя проблема заключается в том, как захватить как вложенные, так и вложенные теги только в структуре одного слоя.
Используйте разумный HTML парсер ... –
ARGH, пожалуйста, не пытайтесь разобрать HTML с регулярным выражением. – Yuushi
Полусвязь: http://stackoverflow.com/q/133601/646543 Связанный с тангенциально-смешным: http://stackoverflow.com/q/1732348/646543 (см. Ответы) – Michael0x2a