Notepad++ 查找以下划线开头的所有大写单词的所有实例并转换为正确大小写

Notepad++ 查找以下划线开头的所有大写单词的所有实例并转换为正确大小写

使用 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

屏幕截图:

在此处输入图片描述

相关内容