正規表現とは
正規表現(Regular Expression、略してregex)は、文字列パターンを記述するミニ言語です。数行の正規表現で「すべてのメールアドレスを抽出」「電話番号の形式を検証」「すべての日付形式を置換」といったテキスト処理タスクを実行できます。
基本文法
文字クラス
角括弧を使って文字の集合のいずれかに一致させます:
[abc]は a または b または c に一致[a-z]は任意の小文字に一致[0-9]は任意の数字に一致、\dと同義[^abc]は a/b/c 以外の任意の文字に一致
定義済み文字
\d数字、\D非数字\w英数字とアンダースコア、\Wその逆\s空白文字、\S非空白.任意の文字(改行を除く)
量指定子
*0回以上の繰り返し+1回以上の繰り返し?0回または1回{n}ちょうどn回、{n,m}n回以上m回以下
グループ化とアンカー
(...)キャプチャグループ^行頭、$行末
一般的なユースケース
メールアドレス検証
^[\w.-]+@[\w.-]+\.\w{2,}$
中国の携帯電話番号
^1[3-9]\d{9}$
URL抽出
https?://[\w./?=&%-]+
DocsAll 正規表現テストツール
正規表現を学ぶ最も効果的な方法は、書きながらテストすることです。DocsAllはオンライン正規表現テストツールを提供し、環境構築不要:
1. 正規表現を入力
式入力欄にregexを入力し、修飾子(g グローバル、i 大小文字区別なし、m 複数行)を選択。
2. テストテキストを入力
下部のテキストボックスにマッチさせる内容を貼り付け。
3. リアルタイムで結果を確認
マッチした内容がハイライト表示され、すべてのキャプチャグループが一覧表示されます。
学習のヒント
- 簡単なユースケースから始め、いきなり複雑な正規表現を書かない
- グループ化と名前付きグループを活用して可読性を向上
- 貪欲と非貪欲(
*?+?)の違いをしっかり覚える - パフォーマンスが重要な場面ではネストした量指定子を避ける
正規表現は難しく見えますが、基本文法を習得したらDocsAll正規表現テストツールで実践を重ねれば、1週間で熟練できます。