技術とか戦略とか

IT技術者が技術や戦略について書くブログです。

サクラエディタ:ソースコード中の変数名を完全一致で検索する

結論から言うと、正規表現で以下の指定をすることで、ソースコード中の変数名を完全一致で検索できます。
javaの場合を想定しています。また、ソースは適切にインデントされ、文頭に変数名が存在しない(左側にスペースを全く入れずに変数名を記述するということはない)という前提です。)
 
[^a-zA-Z0-9_\$]hoge[[^a-zA-Z0-9_\$]|\r\n|\n]
 
【解説】
・「a-zA-Z0-9_\$」は「英数字・アンダーバー・ドルマーク」という意味です。
 英数字・アンダーバー・ドルマークは、javaの変数名で使用可能な文字です。
 これを[^...](否定)で囲むことで、
 検索文字列の前後にjavaの変数名で使用可能な文字が存在しないか、
 つまり変数名を完全一致で検索することが可能になります。
・これだけだと、変数名が文末に存在するケースに対応できません。
 (英数字・アンダーバー・ドルマーク以外の文字が後ろに続く必要があるため)
 [...|...](or条件)で改行コード(\r\n、\n)を指定することで、
 変数名が文末に存在するケースにも対応しています。
 
【確認】
下記のようなソースコードがある場合に、左辺のhogeと右辺のhogeのみが検索され、headhogeやhogetailは検索されません。
 
    hoge = hoge
         + headhoge
         + hogetail;