web-dev-qa-db-ja.com

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
user2525492
  • 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

スクリーンキャプチャ:

enter image description here

1
Toto