Я никогда не понимал, почему обязательно надо упираться запихать что-то сложное в один regexp, почему нельзя 2 regexp или часть логики в коде задать. Было у меня года 4 тому назад собеседование со сложными регекспами, не прошел.
Так вроде человек уже рассказал, у него нет кода, у него только regex, который он может менять