正規表現を実データで試す
パターンだけを見ても、実際にどこへマッチするかは分かりにくいものです。対象テキストと一緒に確認することで、貪欲マッチ、境界、フラグの挙動を見ながら調整できます。
正規表現のテストとデバッグ。マッチをハイライト、キャプチャグループ表示、置換プレビュー対応。 すべてブラウザ内(JavaScript の RegExp)で処理され、入力データはサーバーに送信されません。
Contact: hello@example.com or admin@test.co.jp Not an email: foo bar @ baz
💡 正規表現について
RegExp 構文(ECMAScript)。PCRE / Python の re と細部が異なります(例: 後方参照、ルックアラウンド、Unicodeプロパティ)。(...) で部分文字列を取得、(?<name>...) で名前付き、(?:...) で非キャプチャ。$1 = 1番目のグループ、$<name> = 名前付き、$& = フルマッチ、$$ = リテラル $。u フラグを付けると \p{...}(Unicodeプロパティ)が使えるようになります。例: \p{Script=Hiragana}。Regex Tester は、正規表現のマッチ、キャプチャグループ、置換結果をその場で確認するツールです。ログ抽出、入力バリデーション、テキスト整形、検索条件の調整に使えます。
入力した正規表現とテキストはブラウザ内で処理され、secutilsのサーバーへ送信されません。
パターンだけを見ても、実際にどこへマッチするかは分かりにくいものです。対象テキストと一緒に確認することで、貪欲マッチ、境界、フラグの挙動を見ながら調整できます。
キャプチャグループを使った置換はミスに気づきにくいため、実行前に結果を確認すると安全です。ログ加工や一括修正の前段階として使えます。
正規表現は「マッチするかどうか」だけでなく、処理時間も気にする価値があります。(a+)+$ のように繰り返しの中に繰り返しが入るパターンは、マッチしない入力を与えたときにバックトラックが爆発的に増え、入力が数十文字伸びるだけで処理が事実上終わらなくなることがあります。これはReDoS(正規表現によるサービス拒否)と呼ばれ、ユーザー入力を正規表現で検証している箇所が攻撃対象になります。対策はネストした量指定子を避けること、繰り返し部分が重複してマッチしないよう設計すること、入力長に上限を設けることです。このツールで試すときも、期待どおりマッチする例だけでなく、わざとマッチしない長めの文字列を入れて、結果がすぐ返るかを確かめておくと安心です。
作業の流れに近いツールへすぐ移動できます。