HEXA BLOG

日記

HEXA BLOG日記2011.6.1

正規表現

こんにちは。ダイトクですexclamation
今年の梅雨入り雨は5月27日という事で、統計を取り始めた1951年以降では、2番目の早さだそうです。
湿度が高いと洗濯物もなかなか乾かず、私は部屋干しをしているのですが、
ふと湿度計を見たら「90%」になっており、さらに見ていると「HI」という見た事のない表記に・・・がく〜(落胆した顔)
そんなこんなでこれはまずいと思い除湿機を購入しました手(チョキ)
さて、話は変わりますが、ソースコード内の文字列をまとめて変更したい時などに使う
「置換機能」は多くの方がお世話になっていると思います。
では、置換機能のオプションなどにある「正規表現」は利用されているでしょうか?
恥ずかしながら、私は正規表現の機能をほとんど使っていませんでしたふらふら
そして、正規表現を学んでみると様々な問題が簡単に解決する事が分かりましたわーい(嬉しい顔)
局所的な例をあげると、
[変換前]
  if( hoge ) {
  } else {
  }
[変換後]
  if( hoge ) {
  }
  else {
  }
このように変換したいと考えた場合、
[検索文字列]
 ^{:b*}\}:b*{else}
[置換後文字列]
 \1\}\n\1\2
として置換を行う事で解決出来ます。
※Visual Studio 2008 にて行った物です
この件に関して、正規表現を使う理由は大きく2つあります。
1つ目は、置換後に改行を挿入しなければいけない事です。
置換後文字列の中にある \n がそれにあたります。
2つ目は、ソースコードのインデントを崩さないようにする事です。
検索文字列にある {:b*} で必要な空白を取得し、
置換後文字列にある \1 でインデント用の空白部分を挿入しています。
また、正規表現の詳細は文末に記載した「参考URL」にて確認出来ます。
この記述はあくまで正規表現の一例なのですが、
このような指定をする事によって手で変更するには手間な作業が一瞬で片付きます新幹線
他にも組み合わせ次第で色々な問題を解決出来ると思うので、
さらに使いこなせるようになり、開発効率のアップを目指していきます手(グー)
参考URL:http://msdn.microsoft.com/ja-jp/library/2k3te2cs.aspx

RECRUIT

大阪・東京共にスタッフを募集しています。
特にキャリア採用のプログラマー・アーティストに興味がある方は下のボタンをクリックしてください

RECRUIT SITE