Ну вот про backref'ы согласен, там жёстко, особенно когда их много. Но в большинстве случаев это не нужно. Проще на несколько простых регулярок разбить.
А чаще всего языки вообще эту часть регулярок не имплиментируют. Я вот почти не встречал компиляторов/интерпретаторов, которые бы PCRE поддерживали в полном виде