Из коробки, без специальных модификаторов, большинство реализаций регулярных выражений не выходят за пределы конца строки, чтобы соответствовать тексту. Вам, вероятно, следует обратиться к документации движка регулярных выражений, который вы используете для такого модификатора.
У меня есть еще один совет: остерегайтесь жадности! Традиционно регулярные выражения являются жадными, что означает, что ваше регулярное выражение, вероятно, будет соответствовать этому:
<div id="super_special">
I'm the wanted div!
</div>
<div id="not_special">
I'm not wanted, but I've been caught too :(
</div>
Вам следует проверить наличие не жадного модификатора, чтобы ваше регулярное выражение прекратило сопоставлять текст в first вхождении </div>
, а не last .
Кроме того, как уже говорили другие, рассмотрите возможность использования анализатора HTML вместо регулярных выражений. Это избавит вас от головной боли.
Редактировать: даже не жадное регулярное выражение также не будет работать должным образом, если вложено <div>
! Еще одна причина, чтобы рассмотреть возможность использования анализатора HTML.