正規表現
テスト文字列
よく使うパターン
Regexチートシート
文字
. 任意の1文字(改行を除く)\d 数字 [0-9]\w 単語文字 [a-zA-Z0-9_]\s 空白文字\b 単語境界[abc] 文字クラス[^abc] 否定文字クラス量指定子
* 0回以上+ 1回以上? 0回または1回{n} ちょうどn回{n,m} n回からm回*? 最短一致(非貪欲)グループとアンカー
(abc) キャプチャグループ(?:abc) 非キャプチャグループ(?<name>abc) 名前付きグループa|b 選択(OR)^ 文字列/行の先頭$ 文字列/行の末尾正規表現について
正規表現(regex)は、テキストの検索、照合、抽出、置換に使われる強力なパターンです。ほぼすべてのプログラミング言語でサポートされており、テキスト処理、データ検証、ログ分析、Webスクレイピングに欠かせません。
正規表現の完全ガイド
無料オンラインRegexテスター
このRegexテスターでは、正規表現を書いてテストし、即時の視覚フィードバックでデバッグできます。テスト文字列内のマッチがリアルタイムでハイライトされ、各マッチの位置、長さ、キャプチャグループも確認できます。メールアドレスの検証、ログファイルの解析、データ抽出など、すぐに使える結果を得られます。
正規表現とは?
正規表現(regexまたはregexp)は、検索パターンを定義する文字列です。1950年代の形式言語理論から発展し、現在ではコンピューティングに欠かせない道具になっています。リテラル文字列ではなくパターンに基づいて、テキストを照合、検索、抽出、置換できます。
たとえば、パターン \b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b はメールアドレスにマッチし、^\d{4}-\d{2}-\d{2}$ はYYYY-MM-DD形式の日付を検証します。
正規表現の構文要素
文字クラス
.- 任意の1文字にマッチ(改行を除く)\d- 任意の数字 [0-9] にマッチ\w- 単語文字 [a-zA-Z0-9_] にマッチ\s- 空白文字(スペース、タブ、改行)にマッチ[abc]- セット内の任意の文字にマッチ[^abc]- セット内にない任意の文字にマッチ
量指定子
*- 0回以上+- 1回以上?- 0回または1回{n}- ちょうどn回{n,m}- n回からm回*?/+?- 最短一致(非貪欲)
グループと参照
(abc)- キャプチャグループ(?:abc)- 非キャプチャグループ(?<name>abc)- 名前付きキャプチャグループ\1- グループ1への後方参照a|b- 選択(aまたはb)
アンカーと境界
^- 文字列の先頭(mフラグでは行頭)$- 文字列の末尾(mフラグでは行末)\b- 単語境界\B- 非単語境界(?=abc)- 肯定先読み(?!abc)- 否定先読み
JavaScript Regexフラグ
| フラグ | 名前 | 説明 |
|---|---|---|
| g | グローバル | 最初の1件だけでなく、すべてのマッチを検索します |
| i | 大文字小文字を区別しない | 文字の大小を無視してマッチします |
| m | 複数行 | ^ と $ が各行の先頭/末尾にマッチします |
| s | Dotall(単一行) | . が改行文字にもマッチします |
| u | Unicode | Unicode対応のマッチを有効にします |
Regexテスターの使い方
- パターンを入力: パターン入力欄に正規表現を入力します。このツールはJavaScriptの正規表現構文を使用します。
- フラグを設定: global(g)、大文字小文字無視(i)、複数行(m)、dotall(s)、unicode(u)などを切り替えてマッチ動作を制御します。
- テスト文字列を追加: テスト文字列欄にテキストを入力または貼り付けるか、内蔵サンプルを読み込みます。
- マッチを確認: マッチはリアルタイムでハイライトされ、詳細結果に位置、長さ、キャプチャグループが表示されます。
- 置換モード: 置換モードを有効にすると、$1、$2などの後方参照を使った正規表現ベースの検索・置換をテストできます。
- プリセットを使用: Email、URL、IPアドレス、電話番号などの一般的なパターンをクリックしてすばやく読み込めます。
Regexのよくある利用シーン
フォーム検証: Regexは、メールアドレス、電話番号、郵便番号、クレジットカード番号、日付など、Webフォームのユーザー入力検証で広く使われます。適切な検証パターンにより、不正な形式のデータがシステムへ入るのを防げます。
ログ分析: システム管理者やDevOpsエンジニアは、ログファイルの解析やフィルタリングにRegexを使います。大量のログからタイムスタンプ、エラーコード、IPアドレス、リクエストパスを抽出できます。
データ抽出とWebスクレイピング: Regexは、非構造化テキストから構造化データを抽出するのに役立ちます。商品ページから価格を抜き出したり、HTMLからリンクを抽出したり、不規則なCSVを解析したりできます。
コードエディターでの検索と置換: VS Code、Sublime Text、IntelliJなど多くのエディターは検索・置換でRegexをサポートしています。変数名の変更、関数シグネチャの変更、コード整形などの強力なリファクタリングが可能です。
URLルーティング: Express.js、Django、RailsなどのWebフレームワークでは、URLルート定義にRegexパターンを使い、リクエストパスをコントローラーアクションへ対応させ、パラメータを抽出します。
データクリーニング: 余分な空白の削除、電話番号形式の統一、HTMLタグの除去、日付形式の変換など、Regex置換で乱雑なデータセットを整形・正規化できます。
このRegexテスターを使う理由
即時の視覚フィードバック: パターンを入力すると、テスト文字列内のマッチがその場でハイライトされます。フォーム送信やボタン操作は不要です。
詳細なマッチ情報: 各マッチの位置、長さ、キャプチャグループ、名前付きグループを整理された画面で確認できます。
置換モード: $1、$2、$&などの後方参照を使った検索・置換を、コードに適用する前にテストできます。
内蔵パターンライブラリ: メール、URL、IPアドレス、日付、16進カラー、HTMLタグ、電話番号などの一般的なパターンをすばやく読み込めます。
チートシート: 包括的なRegexリファレンスがツール内にあるため、別ページを開かずに確認できます。
100%プライバシー: すべてのRegex処理はブラウザ内で行われます。データはどのサーバーにも送信されず、パターンとテスト文字列は完全にプライベートです。
こんな人に最適
- フォーム検証を行うWeb開発者
- データ解析を行うバックエンド開発者
- ログを分析するDevOpsエンジニア
- データセットを整形するデータサイエンティスト
- テストパターンを書くQA担当者
- Regexを学習中の学生
- ログをフィルタリングするシステム管理者
- パターン検出を行うセキュリティ分析者
- 大量テキストを編集するコンテンツ担当者
- ペイロードを検証するAPI開発者
- URLを解析するSEO担当者
- テキストパターンを扱うすべての人
100%プライバシー保護
Regex処理はすべてJavaScriptを使ってWebブラウザ内で実行されます。パターン、テスト文字列、置換操作がサーバーへアップロード、データベース保存、ログ記録、第三者送信されることはありません。すべて端末上で完結します。