Скажем, у меня есть строка:
publi c class MyClass: BaseClass
Я хочу заменить «MyClass» произвольной заменой, такой как «MyNewClass»
Я могу сделать это с помощью регулярного выражения, подобного этому:
Regex.Replace(fileOrigContents, $@"([^\p{{L}}0-9\.]){oldClassName}([^\p{{L}}0-9:])", $"$1{newClassName}$2$3");
Однако это не охватывает случаи, когда строка может быть
publi c класс MyClass: BaseClass
или
publi c класс MyClass: BaseClass
В этих случаях замена строки не выполняется не происходит
Во втором случае я смог заставить его работать с помощью этой модификации:
Regex.Replace(fileOrigContents, $@"([^\p{{L}}0-9\.]){oldClassName}(\s*:\s*[^\p{{L}}0-9:])", $"$1{newClassName}$2");
Но это не работает для третьего случая. Как я могу заменить имя класса и покрыть любую комбинацию пробелов и ':' с помощью регулярного выражения?