#c_sharp #net #регулярные_выражения
Есть следующий код (из инфиксной нотации в постфиксную): string infixTerm = "2*3"; Regex reg = new Regex(@"(\d+)(\*)(\d+)"); string postfixTerm = reg.Replace(infixTerm, @"$1 $3 $2"); Console.WriteLine(postfixTerm); // ==> 2 3 * Все хорошо, но хотелось бы заменить $1 на имя factor1, а $2 на factor2. Как можно это дело реализовать?
Ответы
Ответ 1
Всё просто: Regex reg = new Regex(@"(?\d+)(? \*)(? \d+)"); string postfixTerm = reg.Replace(infixTerm, @"${factor1} ${factor2} ${operator}"); См. Substitutions in Regular Expressions (Подстановки в регулярных выражениях).
Комментариев нет:
Отправить комментарий