使用 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
屏幕截图: