Страницы

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

четверг, 26 декабря 2019 г.

Регулярные выражения: из массива строк исключить подстроку

#c_sharp #регулярные_выражения #visual_studio


Возникла необходимость в большом куске кода внести массовую замену. Использую штатный
инструмент Visual Studio 2017 и регулярные выражения для поиска. Подразумеваю, что
синтаксис выражений в строке поиска соответствует синтаксису регулярных выражений в C#.
Есть следующая строка


  get_Label().get_UserLocalizedLabel().get_Label();


В поиске задаю выражение get_(\w*)\(\)

Получаю результат поиска:


  get_Label().get_UserLocalizedLabel().get_Label();


А нужен вот такой результат:


  get_Label().get_UserLocalizedLabel().get_Label();


То есть необходимо исключить слово между get_ и (). Пробовал get_(?!\w*)\(\), но
не преуспел.
    


Ответы

Ответ 1



Если нужно заменить get_ и () на что-то, то подойдёт такой вариант: Find what: get_(\w*)\(\) Replace with: Get$1 Для get_Label().get_UserLocalizedLabel().get_Label() результат: GetLabel.GetUserLocalizedLabel.GetLabel

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

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