C # - Потерянный в Regex - Соответствующие группы на разных машинах - PullRequest
1 голос
/ 23 февраля 2010

Я думал, что знаю, как написать базовое регулярное выражение. На моем компьютере x64 в VS2008, C #, я пишу следующее регулярное выражение:

private static readonly Regex TagRegex = new Regex(@"\{QTable\((?<key>(.*?))#(?<query>(.*?))#(?<columns>(.*?))#(?<heading>(.*?))#(?<tbl>(.*?))#(?<headers>(.*?))#(?<row>(.*?))\)\}", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.ExplicitCapture | RegexOptions.CultureInvariant);

Это регулярное выражение должно найти все записи, такие как:

{QTable(XXX#YYY#ZZZ#111#222#333#444)}

Позволяет мне использовать именованные группы и выбирать каждый ключ значения, запрос и т. Д. И в моем модульном тесте + режиме отладки это работает, даже на моем собственном 5.1 IIS (x86), где я развертываю приложение, оно работает. Однако, когда я развертываю на производственном сервере, это не так, он выдает ney, отсутствующий в словаре, при попытке доступа к именованным группам.

1 Ответ

0 голосов
/ 23 февраля 2010

Нашли ошибку. Конечно совершенно не связанное место. Ничего плохого в регулярном выражении :). Приносим извинения за доставленные неудобства.

...