Я думал, что знаю, как написать базовое регулярное выражение. На моем компьютере 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, отсутствующий в словаре, при попытке доступа к именованным группам.