正規表現チェッカー

正規表現チェッカー(JavaScript・オンラインでテスト)

正規表現とテキストを入力すると、一致した箇所がすべてハイライトされ、キャプチャグループの中身が一覧で表示されます。検索して置換に切り替えれば置換結果も確認できます。正規表現チェッカーはブラウザに組み込まれたJavaScriptのエンジンで動き、入力した内容はこのページの外に送られません。

前後のスラッシュは不要です。/\d+/ ではなく \d+ と入力します。
g すべて検索 · i 大文字小文字を無視 · m 複数行 · s . が改行にも一致 · u Unicode · v Unicodeセット · y 位置固定 · d インデックス
モード
正規表現リテラル/(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/g
JavaScriptのコードnew RegExp("(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})", "g")
フラグすべて検索 (g)
キャプチャグループの数3
名前付きグループyear, month, day

計算はお使いの端末内で完結 · 計算式は既知の値で検証済み · 検証方法について

正規表現チェッカーの使い方

  1. 正規表現を入力します。前後のスラッシュは付けずに、/\d+/ ではなく \d+ と書きます。
  2. フラグを入力します。すべての一致を探すなら g、大文字と小文字を区別しないなら gi、ひらがなや漢字を \p{…} で指定するなら u を加えます。
  3. テストするテキストを貼り付けます。一致した箇所がテキスト内でハイライトされ、表に一致ごとの位置と各キャプチャグループの中身が並びます。
  4. 置換を試すときは検索して置換を選び、置換後の文字列を書きます。グループは $1 や $<name> で参照でき、結果はコピーボタン付きで一番上に表示されます。
  5. コードに貼るときは、結果の「正規表現リテラル」と「JavaScriptのコード」を使います。後者は文字列用にバックスラッシュを二重にした new RegExp(…) の形です。

パターンに文法の誤りがあれば、何が問題でどう直せばよいかを日本語で示し、最後にブラウザ自身のエラーメッセージを添えます。

このチェッカーの正規表現は「JavaScript方式」

正規表現には方言があります。このページは、お使いのブラウザのJavaScriptエンジン(Chrome・EdgeのV8、FirefoxのSpiderMonkey、SafariのJavaScriptCore)でパターンを実行します。いずれもECMAScriptの規格に従っているので、ここで動いたパターンはJavaScript、TypeScript、Node.jsでも同じように動きます。VS Codeのエディター内の検索・置換もJavaScriptの正規表現なので、ほぼそのまま使えます。サクラエディタ(bregonig.dll)、PHPのPCRE、Pythonの re、Javaとは大部分が共通ですが、次の点が違います。

機能JavaScript(このチェッカー)PCRE・Pythonなど
後読み (?<=…) (?<!…)使える(長さの制限なし)使える。Pythonは固定長のみ
名前付きグループ(?<name>…)、\k<name>、置換では $<name>Pythonは (?P<name>…) と \g<name>
強欲な量指定子 a++、アトミックグループ (?>…)使えないPCREは使える。Pythonは3.11から
\d と全角数字\d は半角の0〜9だけ(u フラグでも同じ)Python 3は全角の0〜9にも一致
Unicodeプロパティ \p{Script=Han}u フラグか v フラグで使えるPCREは使える。Pythonの re は不可
インラインフラグ (?i)パターン全体には不可(最新のブラウザは部分的な (?i:…) のみ)使える
\A、\Z、再帰、条件分岐使えないPCREは使える

u フラグも v フラグもないと、JavaScriptは知らないエスケープを普通の文字として読みます。\A は「A」に、\p{L} は「p{L}」に一致してしまうので、このチェッカーはどちらも警告します。

ひらがな・カタカナ・漢字・全角文字を正規表現で扱う

日本語のテキストでは、文字の種類で絞り込みたい場面がよくあります。次の表は、サンプル文「ひらがなとカタカナ、ラーメン・ヴァイオリン、漢字の人々、ABC123とABC123、カタカナ。」に各パターンを当てた結果で、このチェッカーと同じコードで求めています。

対象パターンフラグ一致した文字列注意点
ひらがな\p{Script=Hiragana}+guひらがなと、の、とひらがなだけ。長音の「ー」は含まない
カタカナ(長音を含む)[\p{Script=Katakana}ー]+guカタカナ、ラーメン、ヴァイオリン、カタカナー(U+30FC)はどの文字体系にも属さない「共通」の文字なので、明示的に足します。半角カナも含みます
カタカナ(範囲指定)[ァ-ン]+gカタカナ、ラ、メン、ァイオリンァ〜ン(U+30A1〜30F3)の範囲には ヴ、ヵ、ヶ、ー が入りません
漢字\p{Script=Han}+gu漢字、人々「々」も漢字として扱われます(「〆」は対象外)
全角英数字・記号[!-~]+gABC123!から~までの全角記号・英数字。全角スペース(U+3000)は別です
半角カタカナ[。-゚]+gカタカナ。 から ゚ まで。濁点「゙」は別の1文字です
数字(\d)\d+g123\d は u フラグを付けても半角の 0〜9 だけで、全角の123には一致しません

正規表現チートシート

文字と文字クラス

書き方意味
.改行以外の任意の1文字(s フラグなら改行も)
\d \D半角数字0〜9 / それ以外
\w \W半角英数字とアンダースコア / それ以外
\s \S空白・タブ・改行(全角スペースを含む) / それ以外
[abc]a、b、c のどれか1文字
[^abc]a、b、c 以外の1文字
[a-z0-9]範囲指定:英小文字か数字
\p{L} \p{N}あらゆる文字体系の文字 / 数字(u か v フラグ)
\. \* \\ドット、アスタリスク、バックスラッシュそのもの。. * + ? ^ $ ( ) [ ] { } | \ / はバックスラッシュでエスケープ

位置(アンカー)

書き方意味
^テキストの先頭(m フラグなら各行の先頭)
$テキストの末尾(m フラグなら各行の末尾)
\b単語の境界(\w と \W の間)
\B単語の境界ではない位置

量指定子

書き方意味
*0回以上
+1回以上
?0回か1回(省略可能)
{3}ちょうど3回
{2,5}2〜5回
{2,}2回以上
*? +? ??最短一致(できるだけ少なく)

グループと先読み・後読み

書き方意味
(abc)キャプチャグループ。開きかっこの順に1から番号が付く
(?<name>abc)名前付きキャプチャグループ
(?:abc)キャプチャしないグループ
\1 \k<name>グループ1 / 名前付きグループと同じ文字列
a|ba または b
(?=abc) (?!abc)後ろに abc が続く / 続かない(先読み)
(?<=abc) (?<!abc)前に abc がある / ない(後読み)

置換で使える記号

書き方意味
$1 $<name>グループ1 / 名前付きグループの文字列
$&一致した文字列全体
$` $'一致した箇所より前 / 後ろのテキスト
$$ドル記号そのもの

すぐ使えるパターン集

欄にコピーして調整してください。「例文での結果」はこのチェッカーのコードで求めたものです。

用途パターンフラグ例文での結果メモ
郵便番号\b\d{3}-\d{4}\bg〒150-0041 東京都渋谷区、〒1500041 → 150-0041ハイフンなしも許すなら \d{3}-?\d{4}
携帯電話番号0[789]0-?\d{4}-?\d{4}g連絡先は 090-1234-5678 または 08012345678 です。 → 090-1234-5678、08012345678070・080・090 で始まる11桁。ハイフンは省略可
日付(年月日)(\d{4})年(\d{1,2})月(\d{1,2})日g2026年10月16日に発送、11月1日に到着予定。 → 2026年10月16日年のない「11月1日」には一致しません。暦として正しいかは調べません
和暦(明治|大正|昭和|平成|令和)(元|\d{1,2})年g平成31年4月30日、令和元年5月1日に改元。 → 平成31年、令和元年「元年」にも一致。西暦への変換は和暦変換で
メールアドレス(実用版)[\w.+-]+@[\w-]+(?:\.[\w-]+)+gお問い合わせは info@example.co.jp まで。 → info@example.co.jpRFC 5322 を完全に満たす正規表現はありません。実際に届くかはメールを送るまで分かりません
全角スペース g山田 太郎(全角スペース入り) →  データの整形で全角スペースを半角にしたり消したりするときに

計算例:日付を探して「年月日」に置き換える

入力欄のサンプル (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) は、「年-月-日」の形の日付を探すパターンです。\d{4} はちょうど4桁の数字で、年・月・日をそれぞれ名前付きグループに入れています。g フラグがあるので、サンプルのテキストから日付を3件見つけます:位置14の2026-10-16、位置37の2026-11-15、位置59の2026-09-30。位置は0から数えるので、位置14は「一致の前に14文字ある」という意味です。日本語の文字も1文字として数えます。

検索して置換モードの置換文字列 $<year>年$<month>月$<day>日 は、グループを並べ替えて和文の日付にします。1行目は「請求書 No.1042 は 2026年10月16日 に発行され、支払期限は 2026年11月15日 です。」になります。g フラグを外すと、最初の日付だけが置き換わります。

破滅的バックトラッキング

一致に失敗すると、エンジンは後戻りして、パターンがほかの形で一致しないかを試します。ふつうは候補が少ないのですが、(a+)+、(\w*)*、(a|aa)+ のように繰り返しの中に繰り返しがあると、同じテキストの分け方が指数関数的に増えます。30個の「a」のあとに「!」が続くテキストに (a+)+$ を当てると、あきらめるまでに約230通り、10億以上の分け方を試すことになり、「a」が1つ増えるごとに時間が倍になります。

JavaScriptの正規表現は途中で止められないため、多くのテスターではこのようなパターンでタブが固まります。このページでは別のスレッド(Web Worker)で実行し、1秒たったら停止して理由を示し、入れ子の繰り返しが見つかればその部分を指摘します。直し方は、どのテキストも1通りでしか一致しないように書くことです。(a+)+$ ではなく a+$、.* ではなく区切り文字を除いた [^,]* のようにします。Webサーバーで同じパターンを使うとサービス妨害(ReDoS)の原因になるので、避けるだけでなく直しておく価値があります。

ヒントと制限

入力内容は送信されません

照合はブラウザの中だけで行われ、パターンとテキストはアップロードも記録もされません。次に開いたときのために、最後の入力をこの端末に記憶します。リンクをコピーを使うと入力内容がリンクの # 以降に入りますが、この部分はブラウザがサーバーに送らない部分です。

よくある質問

このチェッカーの正規表現はどの方言ですか?

ECMAScriptの規格で定められ、すべてのブラウザに組み込まれているJavaScriptの正規表現です。JavaScript、TypeScript、Node.js、VS Codeのエディター内検索と同じように動きます。PHP、Python、Javaとも大部分は共通で、違いは上の表のとおりです。

PythonやPHPでは動くのに、ここではエラーになるのはなぜですか?

JavaScriptにない書き方が入っていることがほとんどです。(?P<name>…)、a++ のような強欲な量指定子、アトミックグループ、先頭の (?i)、\A や \Z などです。エラーメッセージが問題の箇所を示し、PythonやPCREの書き方ならJavaScriptでの書き方も表示します。

ひらがなだけ、カタカナだけに一致させるには?

u フラグを付けて、ひらがなは \p{Script=Hiragana}+、カタカナは [\p{Script=Katakana}ー]+ と書きます。長音記号「ー」はカタカナ専用の文字ではないので、足しておかないと「ラーメン」が「ラ」と「メン」に分かれます。[ァ-ン] のような範囲指定では「ヴ」が漏れます。

全角の数字に \d が一致しないのはなぜですか?

JavaScriptの \d は、u フラグを付けても半角の0〜9だけを表すためです。全角数字も含めるなら [0-90-9] と書くか、先に文字列を normalize('NFKC') で半角にそろえてから照合します。

ドットやかっこなどの記号そのものに一致させるには?

前にバックスラッシュを付けます。\. はピリオド、\( はかっこ、\$ はドル記号に一致します。角かっこの中ではほとんどの記号がそのままの意味になるので、[.] もピリオドに一致します。日本語のキーボードではバックスラッシュが「¥」と表示されることがありますが、同じ文字です。

最長一致と最短一致の違いは?

.* のような量指定子はできるだけ長く一致します(最長一致)。そのため <.*> を <b>太字</b> に当てると全体に一致します。? を付けた <.*?> は最短一致になり、最初の > で止まって <b> に一致します。

この計算ツールをあなたのサイトに埋め込む

ウェブサイトやブログで無料でお使いいただけます。表示したい場所に次のコードを貼り付けてください。

最終更新日:2026年10月16日

メニュー

カテゴリー

お金・ローンの計算ツール13種類の計算ツールビジネス・買い物の計算ツール5種類の計算ツール健康・ダイエットの計算ツール6種類の計算ツール数学・学習の計算ツール14種類の計算ツール日付・時間の計算ツール10種類の計算ツール年中行事までのカウントダウン7種類の計算ツール暮らしに役立つツール15種類の計算ツールPDF・画像の変換ツール12種類の計算ツールマイクテスト・カメラテスト・録音ツール6種類の計算ツールエンジニア向け開発ツール9種類の計算ツール

CalcWorthy

運営者情報お問い合わせプライバシーポリシー利用規約

言語

言語
日本語JapaneseEnglishEnglishالعربيةArabicবাংলাBanglaDeutschGermanEspañolSpanishفارسیPersianFrançaisFrenchעבריתHebrewहिन्दीHindiBahasa IndonesiaIndonesianItalianoItalian한국어KoreanBahasa MelayuMalayNederlandsDutchPolskiPolishPortuguêsPortugueseРусскийRussianไทยThaiTürkçeTurkishУкраїнськаUkrainianاردوUrduTiếng ViệtVietnamese简体中文Simplified Chinese