正規表現チョットワカルって言えるようになりたい
2022-04-09
azblob://2022/11/11/eyecatch/2022-04-07-train-regexp-basic-000.jpg

普段PCをさわる人も、そんなにかかわりない人でも簡単に使える小技もご紹介します。

PCのとある管理システム開発のお手伝いをしていた経緯がありましたので簡単に説明しますね。


はじめに

この記事は、

  • コードを書いたことがないけど、プログラミングには興味があります!
  • コード書くまではしたくないけど、便利な小技は知りたい!
  • 普段PCはあまり触れないけど、Excelとかは軽くさわるかな。

という方々にもわかりやすく書いています。記事の終盤には、

「チョットワカル」と言えるようになるかもしれませんね。


正規表現ってなんだろ

そもそも、正規表現って何なんでしょう?その答えは、

「いくつかの文字列を1つの形式で表現するための表現方法」

例えば、「田中 太郎」さんをローマ字で表現するとき、

「Tanaka Taro」とする場合と「TANAKA TARO」とする場合がありますよね。

まず、正規表現は^で始まり$で終わるということ。

この記号の間に対象となる文字列の正規表現を記入する形となります。

ここでは大文字と小文字とで区別はできますが、これを1つの形式で表現すると、

^T(anaka|ANAKA) T(aro|ARO)$

となります。

この場合、苗字の頭文字は「T」、名前の頭文字は「T」となるのでこの2つの文字が共通していることから、

括弧の外に抜き出す中学数学の考え方に基づきます。ところで、括弧の中にパイプ「|」が見られますが、

これは計算機界隈でいうところのORを意味しています。

特定の文字列を含まないように指定するNOTは[^()]と表現することが多いです。

正規表現で使用する特殊文字(メタ文字)はさらに多く、また記述した正規表現が正しいか否かの判定は、

Web上のチェッカーで確認できますので、以下にそれらのリンクを添付しておきます。


正規表現に役立つものたち

・基本的な正規表現一覧 :

https://murashun.jp/article/programming/regular-expression.html

・サルにもわかる正規表現入門

https://userweb.mnet.ne.jp/nakama/

・正規表現チェッカー :

https://weblabo.oscasierra.net/tools/regex/

順に、

  • 正規表現で使用する特殊文字を調べ
  • 正規表現の書き方を学び
  • 正規表現チェッカーで確認する

という流れが理想形。

※忙しい人のために正規表現チェッカーには簡単なメタ文字が用意されているので、ここで実践して学ぶのも可


活用例

こうして記述した正規表現、結局のところ何が良く何に用いているのか、という疑問が残ります。

結論から言ってしまえば、

  • 文字列のパターンにマッチする部分を検索できる

  →その文字列がどこにあるのかがわかる

  • 他の文字列に置換できる

  →表記方法の膨大な修正にも柔軟に対応

というものです。

例えば... Noteに記入した内容を公開したい!というとき

  • 内容はいいが整理されていない
  • 日付や単位などの表記方法が統一されていない

こんな時に正規表現は役立ちます。

対応するエディタが複数あるため、そちらを使って始めるのもいいかもしれません。


実践してみよう

では実際に正規表現を書いてみましょう。

以下のような履歴を例に進めていきます。

履歴 - Google 検索
正規表現 - Google 検索
正規表現 何に使う - Google 検索
正規表現チェッカー - Google 検索
正規表現 メタ文字 - Google 検索
正規表現 エディタ - Google 検索
em エディタ - Google 検索

これに対する正規表現は、

^正規表現 - Google 検索$
^正規表現 (.*) - Google 検索$
^正規表現チェッカー - Google 検索$
^正規表現 (.*) - Google 検索$
^正規表現 (.*) - Google 検索$
^em エディタ - Google 検索$

のようになるでしょう。ここで、 「^正規表現 - Google 検索$ 」、「 ^正規表現チェッカー - Google 検索$ 」、

「 ^em エディタ - Google 検索$ 」は他に関連する履歴がない場合、完全一致となります。

メタ文字 : (.*)に入る文字は何でもいいのでここは共通する部分のみを絶対表現する、部分一致の形をとります。

ではではここで、Excel上で正規表現を使った小技を紹介しましょう。

・「Excel用正規表現検索ダイアログアドイン : excelre」をインストールし、

・各種設定を完了させたのちにExcelを起動、対象となるシートを出します。

・[Shift] + [Ctrl] + [R]で正規表現ダイアログのボックスが表示されます。

・「検索する文字列」欄に正規表現を記述して「すべて検索」

すると、あら不思議!

検索結果が自動的に別ファイルとして出力されました。すごい。

今回の正規表現の基本についてはこのくらいにしておきましょう。


まとめ

いかがだったでしょうか。基礎中の基礎しか紹介できていませんが、

正規表現を初めて聞いたという方も、正規表現に触れたことはあったけれど忘れてしまったという方も、

ちょっとした知識の足しにはなったのではないでしょうか。

あまり深堀すると業務内容を書きかねないので本日はここまでにしましょう。

またわからないことは記載したURLや他個人様のブログ等を参考にして深めていただければと思います。

ありがとうございました。