便利な正規表現6パターン
本題に入る前に、とにかく早くパターンを知りたい。
コピペ用にブックマークしていただいている方に、ここでいきなり6つのパターンを紹介しておきます。
特定の文字列から始まるパターン
^PATTERN.*$
特定の文字列から始まらないパターン
^(?!PATTERN).*$
特定の文字列で終わるパターン
.*PATTERN$
特定の文字列で終わらないパターン
^(?!.*PATTERN$).*$
特定の文字列が含まれるパターン
.*PATTERN.*
特定の文字列が含まれないパターン
^(?!.*PATTERN).*$
テキストの検索に便利な正規表現
正規表現という言葉を聞いたことありますでしょうか。 プログラミングやコーディングに関わる人は聞いたことがあると思いますが、 一般の方にはなじみのない言葉かもしれません。 簡単に言うと、さまざまなパターンの条件でテキスト検索ができるようにするための言語です。
通常、テキストで何かを検索する際に、検索ボックスで入力する文字列は、 検索したいものに対して、その文字列が含まれるものを探すことが多いでしょう。
例えば、エクスプローラーでファイルを探したり、、、
※ファイルエクスプローラーでは今回紹介する正規表現は使えませんが
スプレッドシート内のテキストを検索したり
これだけでも十分に便利なのですが、
- 特定のテキストではないもの。例えばメールアドレスや電話番号などのパターン。
- 検索結果があまりに多い場合にもっと条件を絞り込みたい
といった場合には、正規表現が力を発揮します。 データを取り扱うことが多くなった今の時代。 目的のものを探すときには、かつてのようにフォルダをたどってということも少なくなり、検索窓にキーワードを入れて検索することも多くなりました。
そのため、この正規表現というスキルを身に着けておくことは、仕事でもきっと役に立ちます。
スプレッドシートで正規表現を使う
テキストの検索はあらゆるアプリやツールについています。
普段使っているツールの検索で正規表現が使えるかどうかを確認してみましょう。
例としてスプレッドシートを紹介します。
「Ctrl+H」で検索画面を開いてみましょう。
「正規表現を使用した検索」
にチェックを入れることで、正規表現を使ってテキストを検索することができます。
知っておきたい正規表現のパターン
前方一致・不一致
特定の文字列から始まるパターン
^PATTERN.*$
特定の文字列から始まらないパターン
^(?!PATTERN).*$
PATTERNには検索したいテキストを入れましょう。
例えば
^ホームページ制作.*$
のように書くと、
「ホームページ制作」から始まる行が選択されます。
逆に、「ホームページ制作」から始まらない行を調べたい場合は、
^(?!ホームページ制作).*$
このように、条件を使ってテキストを検索できるんですね。
後方一致
同様に、パターンを紹介していきますので、サンプル画像と共に見てみましょう。
特定の文字列で終わるパターン
.*PATTERN$
特定の文字列で終わらないパターン
^(?!.*PATTERN$).*$
部分一致
特定の文字列が含まれるパターン
.*PATTERN.*
特定の文字列が含まれないパターン
^(?!.*PATTERN).*$
よく使ういくつかのパターンを紹介しました。
今回はコピペで使える正規表現としてパターンで紹介しましたが、 正規表現自体はとても奥が深く、それぞれの記号には意味があります。
正規表現を勉強すれば、メールアドレスや電話番号だけを検索するということも可能になります。
例えば、WEBサイトの問い合わせフォームで、
不正なメールアドレスや電話番号のフォーマットをチェックするときなどにも使われています。
これまでは業務の資料を目視でチェックしてませんでしたか? 1000行のデータを、正規表現でちょっと絞り込むだけで、数十行のチェックで済むようになるかもしれません。 また、チェック自体を正規表現でさせることだってできるかもしれません。
まずはこのパターンから始めてみてください。
[RelService] [Service]