Для того чтобы сделать данную возможность более ресурсоемкой,пришлось делать таки многомерный массив типа
array(array('article'=>array('cntrlArticle','[a-z]+',array('articleId')))
Где ключ массива article это слово между первыми двумя слешами (http:/somesite.ru/article/22/. А второе значение - это само регулярное выражение,а третье это индексы будущего массива $matches,который будет отдан контроллеру. Далее выбирается массив с индексом article и ищется совпадение.
Я хз как описать это коротко было,но вот сама дилемма.
Предположим что у нас есть 4 возможных урла,которые будет обрабатывать 1 контроллер.
1. Статья
2. Статья с сортировкой
3. Статья с постраничной навигацией
4. 2 и 3 вместе
somesite.ru/artilce/
somesite.ru/article/id DESC/
somesite.ru/article/3/ - (3-страница постраничной)
somesite.ru/article/id DESC/3/
Описывать это все 4(!) одним регулярным выражениям глупо?! Как это сделать в 1 регулярном выражении,покажите на примере желательно