正規表現(Regex)テストガイド
正規表現(Regular Expression)は、テキストからパターンを検索・検証する強力なツールです。このガイドでは、正規表現の基礎、よく使うパターン、オンラインテスターの活用方法を解説します。
正規表現とは?
正規表現は、文字列から特定のパターンを検索したり検証したりする際に使う形式です。メールアドレス、電話番号、URLの検証、テキスト置換など、さまざまな場面で活用されます。
正規表現の活用
- 検証: メール、パスワード、日付形式の検証
- 検索: ログファイルから特定パターンの抽出
- 置換: 一括テキスト変換
- パース: 構造化データの抽出
よく使うパターン例
1. メールアドレス
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
^: 文字列の先頭[a-zA-Z0-9._%+-]+: ローカル部(1文字以上)@: @記号[a-zA-Z0-9.-]+: ドメイン\.[a-zA-Z]{2,}$: トップレベルドメイン(.com、.jpなど)
2. 電話番号(日本)
^0[0-9]{1,4}-?[0-9]{1,4}-?[0-9]{4}$
0[0-9]{1,4}: 市外局番-?: ハイフンは任意[0-9]{1,4}: 局番[0-9]{4}: 加入者番号
3. URL
^https?:\/\/[^\s]+$
https?: http または https:\/\/: ://[^\s]+: 空白以外の文字1文字以上
4. 数字のみ
^\d+$
\d: 数字1桁+: 1文字以上^$: 文字列全体にマッチ
オンライン正規表現テスターの活用
UnterGletscher 正規表現テスター
主な機能:
- ✅ リアルタイムマッチ結果表示
- ✅ グループキャプチャの確認
- ✅ 複数行のテスト文字列対応
- ✅ 会員登録不要
- ✅ 個人情報収集なし
使用シーン:
- 正規表現パターンのデバッグ
- 検証ロジックの事前テスト
- チームメンバーとのパターン共有
今すぐ使う: 正規表現テスターを使う
JavaScriptとPythonの文法の違い
フラグ
| JavaScript | Python | 説明 |
|---|---|---|
g | (デフォルトでグローバル) | グローバルマッチ |
i | re.IGNORECASE | 大文字小文字を無視 |
m | re.MULTILINE | 複数行モード |
使用例
JavaScript:
const regex = /^[a-z]+@[a-z]+\.[a-z]{2,}$/i;
regex.test("test@example.com"); // true
Python:
import re
regex = re.compile(r'^[a-z]+@[a-z]+\.[a-z]{2,}$', re.IGNORECASE)
bool(regex.match("test@example.com")) # True
正規表現作成のコツ
1. シンプルから始める
複雑なパターンは小さな単位に分けてテストしましょう。
2. エッジケースを考慮
空文字列、特殊文字、長い入力など、例外状況をテストしましょう。
3. パフォーマンスに注意
.*や(.+)*のようなパターンは、バックトラッキングで遅くなる可能性があります。
まとめ
正規表現は習得に時間がかかりますが、慣れるとテキスト処理能力が大きく向上します。UnterGletscherの無料正規表現テスターでパターンを試し、検証してみましょう。