インソースマーケティングデザイン
2017.06.22 システム
[Eclipse] 検索/置換で意外と便利な正規表現を使ってみよう
こんにちは。エンジニアの高田です。
先日梅雨入りしましたが、あまり雨が降りませんね。
うちの息子はキラキラしてきれいだから雨が好きだそうです。
私は雨をそんな風に思ったことがありせんでした。心が汚れているのでしょうか?!
さて今回は、弊社で主に使用している統合開発環境「Eclipse」の「検索/置換」機能についてご紹介します。
検索/置換ウィンドウを表示する
「検索/置換」ってEclipseを用いて開発していて何気に1番使用する機能なんじゃないでしょうか。
検索/置換ウィンドウを表示してみましょう。
<開いているソース内での検索/置換を行う場合>
メニュー[編集]→[検索/置換]
ショートカット: Ctl + F
<ソース全体での検索/置換を行う場合>
メニュー[検索]→[検索]
ショートカット: Ctl + H
正規表現で検索/置換してみる
普通に検索する場合は特に説明はいらないと思います。
私たちはよく、同じような機能のソースをコピーして新しい機能を作成することがあります。
その際、新しい機能用にソースコードを置換したいけど、置換したくない文字も含まれていて一筋縄ではいかない場合ってありません??
例えばこんな場合・・・
<置換前>
// 関連コード
String _kanrenCd1 = null;
String _kanrenCd2 = null;
String _kanrenCd3 = null;
String _kanrenCd4 = null;
String _kanrenCd5 = null;
↓
<置換後>
// 関連フラグ
int _kanrenFlg1 = 0;
int _kanrenFlg2 = 0;
int _kanrenFlg3 = 0;
int _kanrenFlg4 = 0;
int _kanrenFlg5 = 0;
<検索文字列>
String (_kanren)Cd(d) = null;
<置換文字列>
int $1Flg$2 = 0;
検索文字列に、残したい文字列を括弧「()」で囲んで指定し、
置換文字列に、その残したい文字列を「$1」で指定します。
複数括弧で囲んだ場合は、$1,$2・・・となります。
どこを残したいかがポイントですね。
「d」は半角数字を意味する正規表現です。
正規表現は個別に調べてください。
括弧「()」は正規表現のグループ化というらしいです。おそらく。
私自身、実際どんなときにこれを必要としたのかを忘れてしまい・・・
無理やり作り出した感がありますが、こういう方法があると覚えておくと便利で効率化できると思います。
あとは正規表現が分かるかどうかですね。。。
私は正規表現が苦手です。基本的なものや雰囲気しか分かりません。。。
ちゃんと覚えると便利なことが多くあるのかもしれません。
ではまた。