[\s\S]*?(<article role="main">[\s\S]*<\/article>)[\s\S]*
[\s\S]*?(<article>[\s\S]*<\/article>)[\s\S]*
, вроде не падает. Можете затестить: ставите sublime text 3, включаете его, нажимаете Ctrl+Shift+F, в поле Find копируете [\s\S]*?(<article>[\s\S]*<\/article>)[\s\S]*
, справа от поля Where открываете менюшку, нажимаете Add folder и добавляете вашу папку. В поле Replace пишете $1
, нажимаете справа Replace. Отпишитесь о результатах, если не трудно. Для теста желательно использовать копию проекта, конечно, а не оригинал.
И после замены с помощью на
$1
в документе осталось только это:<article role="main">text content</article>
Так что ищите у себя ошибки, либо в условии, либо в исполнении.