в моей C# приложения Я хочу, чтобы разобрать файлы конфигурации, которые все ищут, как следующие строки:RegEx разборе для конфигурационных файлов
Attribute1 = Value1
Attribute2 = Value2
Attribute3 = Value3
Вот почему я беру линию файлов по линии и попытаться сопоставить их с RegEx. В настоящее время я получил следующее регулярное выражение:
Match match = Regex.Match(s, @"^" + attribute + @"[\s]* [=] [\s]* (^.*)$", RegexOptions.IgnoreCase);
На самом деле, это не работает. Я думаю, что часть после =
является проблемой, так как без этого она работает нормально. Кто-нибудь имеет представление о том, как решить эту строку? Спасибо уже заранее!
'^' может быть стартовым якорем * или * означать ** не **. В этом случае вы говорите «ничего не для 0 или более символов», которые никогда ничего не зафиксируют. –
Вам не нужно обертывать все ваши символы в квадратных скобках '[]'. Это необходимо только в том случае, если на место могут встать несколько разных значений. В вашем случае '@" \ s * = \ s * "' эквивалентно '@" [\ s] * [=] [\ s] * "' –
Вы должны удалить пробелы '' '' из своего регулярного выражения как они интерпретируются как буквальные пространства. –