Urlrewrite битрикс. Как написать правило исключающее из url символьный код элемента?
Если Вы действительно хотите реализовать подобное (и если я вас правильно понял), то Вам нужно будет сделать не только это.
Шаг 1.
1) Создайте страницу /catalog/index.php, на этой странице выведите $_REQUEST
2) Создайте правило (взял из примера выше, у пользователя Артём Лучников )array(
    "CONDITION" => "#^/([a-zA-Z0-9_-]*)/catalog/.*#",
    "RULE" => "city_code=\$1",
    "PATH" => "/catalog/index.php",
)
3) Проверьте, что при заходе, например на /moscow/catalog/, открывается страница и в выведенном массиве есть city_code=moscow
Шаг 2.
1) Скопируйте в свое пространство компонент catalog (комплексный) [например custom:catalog], вынесите его на страницу /catalog/index.php
2) Добавьте в component.php еще одну разделяемую переменную в arComponentVariables - назовите ее, например CITY_CODE, напишите обработчики в тело комплексного компонента, которые будут "переваривать" введенный текст и будут перенаправлять на нужные страницы. В шаблоне sections.php сделайте вывод $_REQUEST
3) Проверьте, что при заходе, например на /moscow/catalog/, открывается страница и в выведенном массиве есть city_code=moscow
Шаг 3.
1) В вынесенном компоненте (из примера выше это custom:catalog), сделайте обработчик указанной переменной city_code, которая и определяет, есть ли указанный город в инфоблоке
2) Проверьте что все работает корректно
Ну и вишенка на торте, что если бы вы сделали выбор инфоблока, откуда берутся города в переменные компонента.
А не проще ли сделать вместо domain.ru/city_code/ так: city_code.domain.ru ?