2015-04-17

社内勉強会で「はじめての正規表現勉強会」を開催しました

みなさま、初めまして。
株式会社リジョブの福島と申します。

昨日(4/14)、リジョブの社内勉強会として正規表現の勉強会を行いました。その様子を紹介します。


全体の流れを簡単にまとめると以下のような感じです。
  • 正規表現とは
  • よく使うメタ文字の説明 (例文を用いた練習問題)
  • 発展問題
今回、この勉強会に参加した動機は、正規表現ってなんとなく知っているけどちゃんと勉強した事がなく、復習もかねて勉強したかったからです。

今回の勉強会で学んだ事

例えば、. (ドット) * (アスタ) ? (クエッション) これらは、このメタ文字が書かれた直前の文字が、複数回繰り返されるという意味になります。
ただ、これらメタ文字は組み合わせることによって、もっと便利な使い方、柔軟なマッチングが行える。これ、自分は知りませんでした。
例)
正規表現  : A.*?B
検索文字列 :  ACDEFBTDSB
と書くと、ヒットする文字列は「ACDEFB」となる。
→Aから始まりBで終わる "最短一致" の文字列にヒットする。

また、別の便利な組み合わせもありました。
例)
正規表現  : ^(?!.*●●●).*
検索文字列 :  〜 複数行の文字列 〜
と書くと、ヒットする文字列は「●●●を含まない行」となる。
→ヒットした文字列を "" (空文字) で置換すれば、テキスト成形に使えそう!
特定の文字列のみを抜き出してリスト化したり、テキスト成形したり。

最後に行った発展問題の中では、今回の勉強会で学んだことをフル活用して、HTLM内に含まれるリンクを抜き出してリスト化する事に挑戦。
2時間の勉強会で学んだ事をフル活用し、なんとか解く事が出来ました。

勉強会を終えて今までを振り返ると、業務でも利用するシーンは多かったはずなのに、ちゃんと勉強せず、無意識に避けていたのかなと。
意識的、積極的に正規表現を使い、もっともっと業務効率化していきます!
ありがとうございました。

まとめ

  • 正規表現とは、文字とメタ文字を組み合わせた、柔軟なパターンマッチングを行うための検索語句
  • メタ文字にはそれぞれ意味があるが、それらを組み合わせる事によって、さらなる柔軟性を得る
  • 積極的に取り入れ、自分のものにし、業務を効率化すべし!
でも、使える正規表現は、ツールや言語によって(オプションによっても)違うので、詳細はマニュアルなど確認すべし!
このエントリーをはてなブックマークに追加

0 コメント:

コメントを投稿