【無料】正規表現テスター
ブラウザが実行するのと同じ方法でパターンを確かめられます。hello world に hello を当てると位置0で1件一致し、番号付きと名前付きのグループも表示されます。置換モードでは実データに触れる前に結果を確認できます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- パターン
- hello
- テキスト
- hello world
- フラグ
- 数量
- 1
パターン・キャプチャ・置換のための信頼できる ECMAScript 正規表現テスターが必要ですか。このツールはブラウザと同じエンジンを使います。フラグ g / i / m / s / u / y、番号付き・名前付きグループ付きの match 結果、$$・$&・$n・$<name> の replace テンプレート。
match モードとキャプチャグループ
match モードでは、完全一致・UTF-16 開始インデックス・番号付きグループ・任意の名前付きグループを各結果に載せます。global なしでは最大 1 件、g では非重複マッチを走査、sticky の y は現在位置での一致が必須で空白を飛ばしません。
replace テンプレート
replace モードは ECMAScript の置換表に従います。マッチがなければ結果は元テキスト、count は 0 です。エディタに貼るのと同じパターンとフラグを使い、クライアントとサーバーを揃えます。
フラグ・不正パターン・上限
受け付けるのは g, i, m, s, u, y のみ(重複不可)。長さ上限はタブ保護用で、パターン 1000・テキスト 100000・マッチ 10000 件まで。u ありではドットがコードポイント単位、なしでは絵文字が UTF-16 2 ユニットになることがあります。
活用例
本番前にパターンを検証
ログやフォーム入力を貼り、本番コードに入れる前にグループと位置を確認します。
正規表現の学習と文書化
JavaScript と同じ ECMAScript 規則で match と replace を並べて示せます。
sticky / global の境界
空白や空マッチでの y と g の挙動を、ブラウザの癖を推測せずに確認できます。
よくある質問
どの正規表現フレーバーですか?
ECMAScript の RegExp で、現行ブラウザと Node と同じです。PCRE や Python re ではありません。
任意グループはどう返りますか?
groups 配列(該当すれば named)で null です。
一致が1件しか出ないのはなぜですか?
g フラグがないと、JavaScript の通常の検索と同じく最初の一致で止まります。g を付けると、テキスト内の重ならないすべての一致を順にたどります。
置換でキャプチャしたグループを使うには?
一致全体は $&、番号付きグループはドル記号の後にグループ番号、名前付きグループは $<name> で挿入します。ドル記号そのものを入れたいときは $$ と書きます。
y フラグが最初の単語で止まるのはなぜですか?
y を付けると、一致は直前の一致が終わった位置から正確に始まる必要があり、空白などを飛ばせません。そのため空白で区切られた単語に gy を使うと、最初の単語だけが返ることがよくあります。
大きさの上限はありますか?
パターンは1000文字まで、テキストは100,000文字までです。1回の処理で返る一致は最大10,000件で、ブラウザのタブが固まらないようにしています。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/dev/regex-tester \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pattern":"\\w+","text":"hello world"}'const res = await fetch("https://api.kit.forhosting.com/dev/regex-tester", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pattern": "\\w+",
"text": "hello world"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/regex-tester",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pattern": "\\w+",
"text": "hello world"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/regex-tester", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pattern":"\\\\w+","text":"hello world"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pattern":"\\w+","text":"hello world"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/regex-tester", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"pattern": "\\w+",
"text": "hello world"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.regex_tester",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_pattern_chars | 1000 |
max_text_chars | 100000 |
max_matches | 10000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
match モードとキャプチャグループ
参加しない任意グループは JSON の null として返し、スロットをスクリプト向けに安定させます。
replace テンプレート
$$ は文字どおりのドル、$& は全体マッチ、$1–$99 は存在する番号キャプチャ、$<name> は名前付きキャプチャです。
フラグ・不正パターン・上限
不正なパターンはエンジンの生例外を投げず、明確なメッセージ付きの typed invalid_input を返します。
連携の活用例
置換のプレビュー
短いサンプルでテンプレートを試し、同じ契約でパイプラインから API を呼びます。
技術的な質問
オンライン正規表現テスターは無料ですか?
はい。ブラウザ版はローカルで無料です。API は公開の基本料金 $0.002 の前払い KIT 残高を使い、失敗したタスクは課金されません。
対応フラグは?
g, i, m, s, u, y です。それ以外や重複は invalid_input になります。
パターンが不正なときは?
Regex inválida で始まるメッセージの invalid_input になり、型なしの SyntaxError にはしません。
サイズ上限は?
パターン ≤ 1000 文字、テキスト ≤ 100000 文字、リクエストあたり最大 10000 マッチです。