Вот код:
<div id="p1">
	<p>текст 1</p>
	<div class="s1">
		<hr>
		<p>текст 2</p>
	</div>
</div>
<script>
	txt = document.getElementById('p1').innerHTML;
	txt = txt.replace(/<div.*?<\/div>/igm, '');
	alert(txt);
</script>
Вместо ожидаемого:
<p>текст 1</p>
получаю:
<p>текст 1</p>
<div class="s1">
	<hr>
	<p>текст 2</p>
</div>
Где ошибка, разве точка не соответствует любому символу, включая \n?