Не думаю, что реальный ответ так прост, как вам хотелось бы.Короткий (и неполный) ответ - просто «все выражения оцениваются слева направо» ...
Для длинного ответа перейдите сюда.
http://msdn.microsoft.com/en-us/library/e347654k.aspx
. Механизм регулярных выражений .NET Framework представляет собой средство сравнения регулярных выражений с обратным отслеживанием, которое включает в себя традиционный недетерминированный механизм конечных автоматов (NFA) ... традиционные механизмы NFA выполняют сопоставление с образцом, их порядок обработки определяется шаблоном регулярного выражения .Поскольку это обрабатывает определенный элемент языка, двигатель использует жадное сопоставление;то есть он соответствует как можно большей части входной строки.Но он также сохраняет свое состояние после успешного сопоставления подвыражения.Если совпадение в конечном итоге не удается, механизм может вернуться в сохраненное состояние, чтобы он мог попробовать дополнительные совпадения.
Изменить: Забыл ответить на вторую часть вашего вопроса.
Что касается RegexOptions.ECMAScript, вы можете ссылаться на эти документы:
http://msdn.microsoft.com/en-us/library/yd1hzczs.aspx
Поведение ECMAScript и канонических регулярных выражений отличается в трех областях: класс символовсинтаксис, самозахватывающие группы захвата и восьмеричная или обратная интерпретация.
Не похоже, что «порядок» затрагивается, но могут быть и другие проблемы.Документы хорошо иллюстрируют различия.