正規表現テスター|リアルタイムでマッチ確認・ハイライト表示【無料】

無料Webアプリ - 正規表現テスター|リアルタイムでマッチ確認・ハイライト表示【無料】 Web開発ツール
無料Webアプリ - 正規表現テスター|リアルタイムでマッチ確認・ハイライト表示【無料】
スポンサーリンク

正規表現テスター

正規表現テスターの使い方

このツールは、正規表現がマッチする箇所をハイライト表示します。

「正規表現」と「テスト文字列」を入力すると、リアルタイムで判定を行います。

オプションでフラグを指定できます。

正規表現とは

正規表現(Regular Expression)は、文字列のパターンを表現するための記法です。

「特定の文字列が含まれているか」「メールアドレス形式かどうか」「数字だけかどうか」といった条件を、簡潔に記述できます。

JavaScript正規表現の特徴

JavaScriptの正規表現はECMA-262で定義され、Perl互換正規表現(PCRE)をベースにしつつも独自の進化を遂げています。他言語との主な差異を以下に示します。

機能JavaScriptPython (re)PHP/PCREJava
名前付きキャプチャ(?<name>...)(?P<name>...)(?P<name>...)(?<name>...)
後読みアサーション 固定長・可変長 固定長のみ 可変長対応 固定長のみ
再帰パターン✗ 非対応✗ 非対応 (?R)✗ 非対応
所有量指定子✗ 非対応✗ 非対応 ++ ++
条件付きパターン✗ 非対応✗ 非対応
Unicode カテゴリ \p{}(u/v フラグ) \p{} \p{} \p{}
インラインフラグ✗ 非対応 (?i) (?i) (?i)
フラグ指定方法末尾 or コンストラクタ引数re.compile() の引数パターン末尾Pattern.compile()

正規表現のフラグ

正規表現の末尾に付けるオプションで、マッチの挙動を変更します。

本ツールでは、特によく使われる3つの主要フラグをサポートしています。

フラグ名称説明
gGlobal(グローバル)最初の1致だけでなく、文字列全体からすべての一致を探します。
iIgnore Case(大文字小文字の無視)アルファベットの大文字と小文字を区別せずにマッチさせます。
mMultiline(マルチライン)^(行頭)や $(行末)が、文字列全体ではなく「各行」の先頭と末尾に作用します。

その他のフラグ

  • u (Unicode): サロゲートペア(絵文字など)を正しく扱うためのフラグ
  • s (DotAll): .(ドット)が改行文字にも一致するようになります
  • y (Sticky): lastIndex プロパティで指定された位置からのみマッチを試みます

クイックリファレンス

開発中によく使うメタ文字・量指定子の早見表です。

メタ文字意味
.改行以外の任意の1文字
^行/文字列の先頭(m フラグで行頭)
$行/文字列の末尾(m フラグで行末)
*直前のパターンの0回以上の繰り返し(最長)
+直前のパターンの1回以上の繰り返し(最長)
?直前のパターンの0または1回(最長)
*?0回以上の最短マッチ(非貪欲)
+?1回以上の最短マッチ(非貪欲)
{n}直前のパターンをちょうど n 回
{n,m}n回以上 m回以下(最長)
\d数字 [0-9]
\D非数字 [^0-9]
\w単語文字 [A-Za-z0-9_]
\W非単語文字
\s空白文字(スペース・タブ・改行 等)
\S非空白文字
\b単語境界
(?:...)非キャプチャグループ
(?=...)前読みアサーション(肯定)
(?!...)前読みアサーション(否定)
(?<=...)後読みアサーション(肯定)
(?<!...)後読みアサーション(否定)

実践的なコード例

// ── バリデーション(g なし、i あり)
const emailRe = /^[a-z0-9._%+\-]+@[a-z0-9.\-]+\.[a-z]{2,}$/i;
const isValidEmail = (s) => emailRe.test(s);
// ── 全マッチ抽出(g + m)
const logText = `[ERROR] 2025-07-01 DB timeout
[WARN]  2025-07-01 Slow query
[ERROR] 2025-07-02 Connection refused`;

const errors = logText.match(/^\[ERROR\].+$/gm);
// → ["[ERROR] 2025-07-01 DB timeout", "[ERROR] 2025-07-02 Connection refused"]

ツール右上の「設定」ボタンから、これらを サンプルとして一括入力することができます。ぜひご利用ください。

よくある用途

  • 特定の命名規則を持つIDなどのバリデーションコードをテストしたい
  • サーバーログから特定のステータスコードやIPアドレスを抽出したい
  • リファクタリング時に新旧パターンが同じ結果を返すかを比較検証したい

注意点

プライバシーについて

本ツールはブラウザ上で処理を行うため、入力されたデータが外部サーバーに送信されることはありません。

タイトルとURLをコピーしました