регулярное выражение - заменить текст вне другого текста - PullRequest
0 голосов
/ 20 декабря 2018

Я редактирую некоторый код C #, и мне нужно изменить выражения вроде nameof (somevar) на "somevar".Это можно сделать с помощью регулярного выражения?

Ниже приведен лучший пример:

Что у меня есть:

throw new ArgumentException(nameof(outputFilePath));

Что мне нужно:

throw new ArgumentException("outputFilePath");

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Это должно сделать это:

  string s = "nameof(abc)";
  Regex r = new Regex("nameof\\((.+?)\\)");
  string output = r.Replace(s, "\"$1\"");
  • \( ищет открывающую скобку
  • (.+?) создает группу (то есть $1), которая ищет любуюchar (.) один или несколько раз (+), лениво (?)
  • \) ищет закрывающую скобку
0 голосов
/ 20 декабря 2018

заменить регулярное выражение:

  nameof\(([^)]*)\)

на:

  "\1"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...