Страницы

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

пятница, 30 ноября 2018 г.

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

Возникла необходимость в большом куске кода внести массовую замену. Использую штатный инструмент 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*)\(\), но не преуспел.


Ответ

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

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

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