Другие комментаторы упомянули сложность, являющуюся вероятной причиной проблемы с перфорированием. Я бы добавил, что если вы пытаетесь сопоставить что-то похожее на тег IMG, я думаю, вы хотите регулярное выражение, похожее на это:
<IMG(\s+[a-z]+=('[^']*'|"[^"]*"|[^\s'">]+))+>
Конечно, все еще существуют допустимые варианты HTML, которые не может поймать это регулярное выражение. Как закрывающий /
(требуется в xhtml) или пробел перед закрывающей скобкой. И он пропустит некоторые недопустимые случаи, например, неподдерживаемые имена атрибутов.