「hello_world」などの文字列を「HelloWorld」に変換したり、元に戻したりするために、正規表現だけを使用することは可能ですか?
「ClassName」を別の場所に入力すると、「class_name」が自動的に入力される Sublime Text のスニペットを作成する必要があることが多いため、質問しています。この目的には、perl スタイルの正規表現しか使用できません。
「hello_world」などの文字列を「HelloWorld」に変換したり、元に戻したりするために、正規表現だけを使用することは可能ですか?
「ClassName」を別の場所に入力すると、「class_name」が自動的に入力される Sublime Text のスニペットを作成する必要があることが多いため、質問しています。この目的には、perl スタイルの正規表現しか使用できません。
perl 正規表現の使用:
hello_world -> HelloWorld
s/(_|\b)([a-z])/\u\2/g;
\b: 境界で一致 (スペース、文字列の開始、句読点など)[a-z]: 小文字のアルファベット\u: 次の文字を大文字にする\2: グループ 2 (最初の小文字)(_|\b)-> グループ 1([a-z])-> グループ 2HelloWorld -> hello_world
s/([A-Z][a-z]+|[a-z]+)([A-Z])/\l\1_\l\2/g;
Hello。s/([A-Z])/_\l\1/g;続けて使用します。s/^_//;