正規表現テスター(JavaScript)
正規表現がテキストのどこに一致するかを、位置とキャプチャグループつきの表で表示し、検索と置換の結果もプレビューします。JavaScriptの正規表現エンジンに基づきます。
パターンとサンプルのテキストを入力すると、「計算」を押した後に、正規表現が何に一致するかを、一致ごとの位置とキャプチャグループまで正確に確認できます。このテスターは、ブラウザーのJavaScript RegExpエンジン、つまりJavaScriptのプログラムで使うのと同じRegExp APIを使い、パターンをコードに入れる前に、$1形式の参照を使った検索と置換の結果をプレビューできます。
使い方
- スラッシュなしでパターンを入力するか、
/\d+/giのようなリテラルを貼り付けます。 - 必要なフラグ g、i、m、s、u にチェックを入れます。
- 検索するテキストを貼り付けます。
- 必要なら置換後の文字列を入力して、
text.replace()の結果をプレビューします。 - 「計算」を押します。一致の数を読み取り、続いて一致とそのグループの表を確認します。
計算式
繰り返し:match = re.exec(text)(re.lastIndexから)、gフラグがある間
gがない場合は、最初の一致だけが返されます。位置は、JavaScriptのmatch.indexと同様、UTF-16コード単位を0から数えた値です。空の一致の後は1つ位置を進める(uやvではコードポイント1つ分)ので、x*のようなパターンでも無限ループになりません。パターンは別のWorkerで2秒の制限つきで実行され、遅い表現はページをブロックすることなく停止されます。
計算例
既定のパターン(\d{4})-(\d{2})-(\d{2})は、サンプルの文で2件の一致を見つけます。インデックス15の2026-03-15とインデックス30の2026-10-01で、それぞれ3つのグループ(年、月、日)があります。2026/12/01はスラッシュを使っているため対象外です。置換$2/$3/$1は文を「Invoices dated 03/15/2026 and 10/01/2026 are due…」に変えます。
よくある質問
この正規表現はPython、PHP、Javaでも同じように動きますか?
文字クラス、量指定子、グループ、アンカーなどの基本は共通ですが、所有量指定子(JavaScriptにはありません)、名前付きグループの構文、一部のエスケープなど、言語ごとに異なる機能があります。実際に使う言語で、境界的なケースをもう一度テストしてください。
一致が1件しか出ないのはなぜですか?
g(グローバル)フラグがオフになっているためです。このフラグがないと、JavaScriptは最初の一致で止まり、replace()もその1件だけを置換します。
ドット(.)が行をまたいで一致しないのはなぜですか?
既定では、ドットは改行を含みません。s(dotAll)にチェックを入れるか、ドットの代わりに[\s\S]を使ってください。
パターンがタイムアウトしたのはなぜですか?
(a+)+$のような入れ子の量指定子は、バックトラックに長い時間がかかることがあります。実行はWorkerで行われ、2秒で停止します。入力を短くするかパターンを簡単にして、もう一度計算してください。
出典
最終更新:
この入力内容のページアドレス: https://kakao.mobile/ja/tools/regex-tester/
このツールを引用する
kakaoCalc. (2026, November 8). 正規表現テスター(JavaScript). https://kakao.mobile/ja/tools/regex-tester/
“正規表現テスター(JavaScript).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/regex-tester/.