для проверки кода и решения проблем, мне нужно будет упустить все свойства getters в большом решении. Я думаю "Regex и Powershell на помощь".Regex для сопоставления свойства C# getter
Мне нужен шаблон rexeg, который соответствует всем геттерам в файле C#. Например, если это был тест строка:
public string MockFullName
{
get
{
string ns = FullName.Substring(0, FullName.Length - Name.Length - 1);
return string.Format("{0}.Mock{1}", ns, Name);
}
}
я нужен матч быть:
get
{
string ns = FullName.Substring(0, FullName.Length - Name.Length - 1);
return string.Format("{0}.Mock{1}", ns, Name);
}
Я играл в https://regex101.com/ с рисунком ...
get(.|\n)*{(.|\n)*}
... который дает мне слишком много назад - включает в себя и закрывающий кронштейн из класса.
Typing это в PowerShell ничего обратно для данного файла C# не дает:
sls 'get(.|\n)*{(.|\n)*}' MyCSharpFileWithAProperty.cs
Итак, какие из регулярных выражений шаблона удовлетворить бы для этого?
Спасибо, POM
PS: Для записи, я не заинтересованы в краткой форме свойств, и они могут быть пропущены:
public string Name { get; set; }
Где мой код? – Toto
Пожалуйста, покажите примеры типа кода, который вы * хотите *, чтобы соответствовать, а не только то, что вы * не хотите *, чтобы соответствовать. Кроме того, если вы уже пытались создать регулярное выражение (и вы действительно хотите попробовать себя перед отправкой вопроса), разместите код с этим регулярным выражением и укажите, что с ним не работает. –
Сказав это, имейте в виду, что использование регулярного выражения для соответствия синтаксису кода, которое включает в себя фигурные скобки (вложенные в произвольную глубину) и комментарии и строки, и то, что не будет произвольным трудным, если не совершенно невозможным. –