⌚ 2020/10/26 (Mon) 🔄 2024/3/20 (Wed)
正規表現について
★はじめに★
この記事は「正規表現を全く知らない」or
「存在は知っているけどほとんど使ったことがない」という方に対して
どんなものかイメージがつく、少しでも業務で使用できる、を目指して執筆しています。
長くなりすぎないよう基礎だけまとめました。
まずはこちらの記事で概要をつかんでいただき、もっと深く知りたいという方は
最後にサイトも紹介していますので、個々で学んでいただければ幸いです。
★正規表現とは?★
例えば次のような文字列があったとします。
「私は今日9:00~10:00までと、15:00~16:00まで正規表現の勉強をします。」
この中からある特定の文字列を見つけたいのであれば、その特定の文字で検索すれば
良いと思います。
(例えば「正規表現」という文字列を見つけたければ、「正規表現」で検索)
- それでは下記のように、もっと抽象的な条件で検索したい場合はどうでしょうか。
- ・""正""から始まる4文字を検索したい。
・""、""より後ろの文字を検索したい。
・最後の一文字を検索したい。
・時刻形式(9:00とか10:00とか)を検索したい。
この時に使えるのが正規表現です。
特別な意味を持つ「メタ文字」というものを用いることで、
文字の""パターン""を表現することができます。
この""パターン""で検索することで、上記で示した抽象的な条件でも検索することができます。
★どんな時に使うの?★
正規表現はさまざまなプログラミング言語およびテキストエディタで使用することのできる
汎用性の高いものなので、様々な場面で応用することができます。
- 下記は一例です。
- ・ログの中から特定の文字パターンを検索したい。
・フルパスからファイル名だけ検索したい。
・アプリの項目入力画面等で、入力制限を設けたい。
(例えばメールアドレスの入力項目なら、「半角英数字記号のみ、@を含む」か
どうかを判定したい)
★さいごに★
個人的に重要度が高いと思われるメタ文字について、具体的な使い方と合わせて
表にまとめました。
また、正規表現について解説しているサイトや正規表現をチェックできるサイトを
下記に挙げましたので、参考にしていただければ幸いです。
手と目で覚える正規表現入門
https://qiita.com/jnchito/items/893c887fbf19e17d3ff9
正規表現一覧 よく使う検索・置換のパターン
https://hapicode.com/javascript/regular-expression.html
正規表現チェッカー(正規表現をチェックできるツール)
https://weblabo.oscasierra.net/tools/regex/