メインコンテンツにスキップ

正規表現テスター

正規表現パターンをテストし、マッチング結果をリアルタイムで確認する無料オンラインツールです。

//

Flags

  • g - Global: Find all matches
  • i - Case insensitive
  • m - Multiline: ^ and $ match line breaks
  • s - Dotall: . matches newlines
  • u - Unicode: Full unicode support

Common Syntax

  • . - Any character
  • \d - Digit (0-9)
  • \w - Word character (a-z, A-Z, 0-9, _)
  • \s - Whitespace
  • * - 0 or more
  • + - 1 or more
  • ? - 0 or 1
  • [abc] - Any of a, b, or c
  • (abc) - Capture group

主な機能

  • リアルタイムマッチング: 入力と同時に結果を確認
  • 5つのフラグ: g, i, m, s, u サポート
  • ハイライト表示: マッチした部分を視覚的に表示
  • グループキャプチャ: キャプチャグループの詳細情報を提供
  • 一般的なパターン: よく使用するパターンを提供
  • 位置情報: 各マッチの開始/終了位置を表示

フラグ説明

フラグ名前説明
gGlobalすべてのマッチを検索(最初だけでなく)
iIgnore Case大文字小文字を区別しない
mMultiline^と$が各行の開始/終了にマッチ
sDotall.が改行もマッチ
uUnicodeUnicode 全体をサポート

一般的なパターン例

メールアドレス

\w+@\w+\.\w+

マッチ: user@example.com, admin@test.org

URL

https?://[\w\-._~:/?#\[\]@!$&'()*+,;=]+

マッチ: http://example.com, https://site.com/page

電話番号

\+?\d{1,4}?[-.\s]?\(?\d{1,3}?\)?[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,9}

マッチ: 010-1234-5678, +82-10-1234-5678

Hex カラー

#[0-9a-fA-F]{6}|#[0-9a-fA-F]{3}

マッチ: #FF5733, #f00

日付(YYYY-MM-DD)

\d{4}-\d{2}-\d{2}

マッチ: 2024-01-15

IP アドレス

\b(?:\d{1,3}\.){3}\d{1,3}\b

マッチ: 192.168.0.1

キャプチャグループ

基本グループ

パターン: (\d{4})-(\d{2})-(\d{2})
テキスト: 2024-01-15

グループ 1: 2024
グループ 2: 01
グループ 3: 15

名前付きグループ

パターン: (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})
テキスト: 2024-01-15

グループ year: 2024
グループ month: 01
グループ day: 15

実用例

HTML タグ抽出

<(\w+)[^>]*>

テキスト:

<div class="box">Content</div>
<p>Paragraph</p>

マッチ: div, p

変数名検証

^[a-zA-Z_$][a-zA-Z0-9_$]*$

有効: myVar, _temp, $value 無効: 123abc, my-var

数字抽出

-?\d+\.?\d*

マッチ: 123, -45, 67.89, -0.5

単語境界

\bcat\b

テキスト: "cat category catch" マッチ: cat(最初のみ)

高度なパターン

Lookahead(前方参照)

# 肯定的前方参照
\d+(?= won)
テキスト: "100 won, 200 dollars"
マッチ: 100

# 否定的前方参照
\d+(?! won)
テキスト: "100 won, 200 dollars"
マッチ: 200

Lookbehind(後方参照)

# 肯定的後方参照
(?<=\$)\d+
テキスト: "$100, 200 won"
マッチ: 100

# 否定的後方参照
(?<!\$)\d+
テキスト: "$100, 200 won"
マッチ: 200

非貪欲マッチング

# 貪欲
<.*>
テキスト: "<div>test</div>"
マッチ: <div>test</div>(全体)

# 非貪欲
<.*?>
テキスト: "<div>test</div>"
マッチ: <div>, </div>(それぞれ)

パフォーマンスのヒント

1. 具体的なパターンを使用

# 遅い
.*

# 速い
[a-z]+

2. アンカーを活用

# 遅い
\d{4}-\d{2}-\d{2}

# 速い
^\d{4}-\d{2}-\d{2}$

3. 非キャプチャグループ

# キャプチャ(遅い)
(\d+)

# 非キャプチャ(速い)
(?:\d+)

よくある間違い

1. . 文字リテラル

# 間違い: . はすべての文字
example.com

# 正しい: \. でエスケープ
example\.com

2. *+ の混同

# *: 0個以上(マッチしない場合も)
ab*c → ac, abc, abbc

# +: 1個以上(必ずマッチ)
ab+c → abc, abbc(ac はマッチしない)

3. グループ番号

パターン: (\d+)-(\d+)
テキスト: 123-456

グループ 0: 123-456(全体マッチ)
グループ 1: 123
グループ 2: 456

デバッグのヒント

  1. 段階的テスト: 複雑なパターンを小さな部分に分けてテスト
  2. フラグ確認: 必要なフラグが有効になっているか確認
  3. エスケープ: 特殊文字の前に \ を追加
  4. オンラインツール: 複数の正規表現テスターでクロスチェック

💬 このツールは役に立ちましたか?

正規表現テスターを使用して、パターンをリアルタイムでテストし、マッチング結果を即座に確認できます。5つのフラグとキャプチャグループをサポートし、複雑な正規表現も簡単に検証できます。

プライバシー保護

このツールは完全にクライアント側で動作します。入力されたデータはサーバーに送信されず、ブラウザ内でのみ処理されます。テストパターンとテキストは外部に送信されることはありません。

関連ツール