正規表現

grep検索で引用符の間に文字が入っているものだけをヒットさせる正規表現

背景

開発現場のプログラム調査などで引用符の間に文字が入っている箇所だけを取り出したいときがあります。

例えば引用符が”(ダブルクォーテーション)の場合

  • parameter1 = “0”
  • parameter1 = “12345”

という箇所は取り出したいけど

  • parameter1 = “”

という箇所は取り出したくない!

そんなとき、

正規表現を使用すると便利です

※正規表現を知らない人はまず別記事を参照してください。

結論から

上記の例の場合

サクラエディタなどの正規表現のgrep検索で

parameter1 = “.+

と検索すると

  • parameter1 = “0”
  • parameter1 = “12345”

などがヒットし

  • parameter1 = “”

はヒットしません。

ここで言うところの

.+

が正規表現です。少しだけ解説します。

解説

正規表現『.+』は

『.』と『+』に分解できます。

『.』

『任意の1文字を探しますよ』

という意味です

『+』は

『直前の文字が 1回以上 繰り返すものを探しますよ』

と言う意味です。

これらを合わせた表現が

『.+』

です。

『任意の1文字以上の文字列を探しますよ』

という意味になります。

なので、

今回の例でいうと

“”の中に『.+』を指定すると

『””で囲まれた中の任意の1文字以上の文字列を探しますよ!』

という意味になります。

この組み合わせはよく使うので慣用句として覚えことをお勧めします。

基本的な正規表現一覧

中級者への道

正規表現に限らず、技術とういものは一度理解しても、すぐ忘れてしまい、自分の技術になりません。

大したことではなくても、積極的に正規表現を使用していくことで、最終的には複雑な文字列をマッチさせたり置換させたりできるようになります。

意識的に技術を活用していくようにしましょう。

関連記事