Vimで正規表現を使用してグループ毎の置換をしたい時、Perl等の正規表現とは違って独特の
書き方をしないといけないので注意すること。 よく自分が忘れるのでメモを残した。
(.*)
と書けばいいところを、\(.*\)
のように\
を(
,)
の前に加えなければならない。$1
、$2
...は\1
、\2
のように書かなければならない。
以下のコマンドを実行すると、その下の実行結果のようになる。
実行前
status=ステータス
dataList=データ一覧
deptid=ユーザの組織ID
userid=ユーザID
updateDate=更新日時
コマンド
:%s/\(.*\)=\(.*\)/hashMap.put("\1","\2");/g
実行後
hashMap.put("status","ステータス");hashMap.put("dataList","データ一覧");hashMap.put("deptid","ユーザの組織ID");hashMap.put("userid","ユーザID");hashMap.put("updateDate","更新日時");
参考
Vimで使える正規表現
http://archiva.jp/web/tool/vim_regexps.html