Я пишу поиск и замену для Visual Stud ios и пытаюсь переключить все наши переменные publi c на get / sets.
Regex: ^public ((?!({))(?!=).)*;
//MATCHES CORRECTLY
public string Country;
public string EmailAddress;
public string FirstName;
public string LastName;
public string PhoneNumber;
public string PostalCode;
public string State;
public List<Object> Example;
//MATCHES BUT SHOULDNT
public event GetUserListCompletedEventHandler GetUserListCompleted;
public delegate void GetUserListCompletedEventHandler(object sender, GetUserListCompletedEventArgs e);
//DOES NOT MATCH CORRECTLY
throw new Exception("In order to get the public date for blah blah blah");
public List<Order> orderDetails = new List<Order>();
public string CustomerName { get; set; }
public string BillingAddress1 { get; set; }
public string BillingAddress2 { get; set; }
У меня есть удалось заставить событие / делегат игнорироваться в регулярном выражении, но в Visual Stud ios синтаксический анализатор регулярного выражения вызывает недоумение, когда я пытаюсь использовать этот код
^public ((?!({|event|delegate))(?!=).)*;
Однако это не работает в VS 2019, несмотря на использование | быть действительным согласно их собственному документу.
https://docs.microsoft.com/en-us/visualstudio/ide/using-regular-expressions-in-visual-studio?view=vs-2019
Второй вопрос - вывод, который я делаю: $ 0 {get; набор; }
public string Country; { get; set; }
Итак, мне нужно сделать второй поиск / замену, чтобы изменить это, чтобы удалить;, потому что я не могу понять, как сгруппировать деталь перед точкой с запятой, не получая совпадений для отрицательных совпадений .
Итак, у меня есть две проблемы
1) Как я могу заставить событие / делегатов игнорироваться с помощью регулярных выражений в VS
2) Как я могу получить группа для первого раздела для вывода, поэтому я игнорирую; в замен.
Любая помощь или направление очень ценится.