Страницы

Поиск по вопросам

вторник, 7 января 2020 г.

Как дать имя подвыражению в регулярных выражениях?

#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 (Подстановки в регулярных выражениях).

Комментариев нет:

Отправить комментарий