
Используя Notepad++, я хочу найти все слова, в которых ВСЕ буквы заглавные, начинающиеся с подчеркивания, и преобразовать их в правильный регистр.
Пример 1,
Find:
DimCalendarDay_DATE
Replace with:
DimCalendarDay_Date
Пример 2,
Find:
DimCalendarDay_YEAR_PERIOD_DAY
Replace with:
DimCalendarDay_Year_Period_Day
Пример 3,
Find:
First_Day
Replace with:
First_Day
Я уже ввел следующие данные в критерии замены поисковой рекламы в Notepad++:
Find what: [_]\w*[A-Z]\w*[A-Z]\w*
Replace with: \L \u \1
Однако приведенное выше регулярное выражение заменяет найденный мной текст ничем.
Пожалуйста, порекомендуйте...
решение1
- Ctrl+H
- Найти то, что:
(_[A-Z])([A-Z]*)(?![A-Z])
- Заменить:
\u$1\L$2
- проверить Соответствие регистру
- проверить Обернуть вокруг
- проверить Регулярное выражение
- Replace all
Объяснение:
(_[A-Z]) # group 1, an underscore followed by a capital
([A-Z]*) # group 2, 0 or more capitals
(?![A-Z]) # negative lookahead, make sure we haven't capital after
Замена:
\u$1 # uppercased the content of group 1 (i.e. the first letter)
\L$2 # lowercased the content of group 2 (i.e. the rest of the match)
Данный:
DimCalendarDay_DATE
DimCalendarDay_YEAR_PERIOD_DAY
First_Day
Результат для данного примера:
DimCalendarDay_Date
DimCalendarDay_Year_Period_Day
First_Day
Скриншот: