Одна ошибка, я вижу, что люди, делающие over и снова, пытаются разобрать XML или HTML с регулярным выражением. Вот несколько причин синтаксического разбора XML и HTML:
Люди хотят обрабатывать файл как последовательность строк, но это действительно:
<tag
attr="5"
/>
Люди хотят лечить < или < тег в качестве начала тега, но такие вещи существуют в природе:
<img src="imgtag.gif" alt="<img>" />
Люди часто хотят сопоставлять начальные теги с конечными тегами, но теги XML и HTML позволяют содержать теги (какие традиционные регулярные выражения не могут обрабатывать вообще):
<span id="outer"><span id="inner">foo</span></span>
Люди часто хотят сопоставлять содержимое документа (например, известная проблема "найти все номера телефонов на заданной странице" ), но данные могут быть помечены (даже если это выглядит нормально, если смотреть)
<span class="phonenum">(<span class="area code">703</span>)
<span class="prefix">348</span>-<span class="linenum">3020</span></span>
Комментарии могут содержать плохо отформатированные или неполные теги:
<a href="foo">foo</a>
<!-- FIXME:
<a href="
-->
<a href="bar">bar</a>
Какие еще ошибки вы знаете?