正規表現テスト
パターンとテキストを入力すると、マッチした箇所とグループの内容がすぐに分かります。
出力
上に貼り付けるか入力すると、ここに結果が表示されます。
ファイルは端末の外に出ません
このツールはすべてブラウザ内で動作します。貼り付けた内容は端末内で処理され、サーバーには送信されないため、トークンや鍵、未公開の文章でも安心して使えます。
使い方
- 「パターン」欄に正規表現を入力します。前後のスラッシュは不要です。例:\b\w+@\w+\.\w+\b でメールアドレスらしき文字列を探せます。
- 必要なフラグを設定します。gですべてのマッチを取得、iで大文字小文字を区別しない、mで行ごとに^と$を有効化、sでドットが改行にもマッチ、uでUnicodeを正しく扱います。
- 入力欄に検索したいテキストを貼り付けます。ログ、CSVの行、HTMLなど、実際にパターンを適用する予定のデータをそのまま使えます。
- 「正規表現をテスト」を押します。マッチごとに位置と、番号付き・名前付きのキャプチャグループの内容が一覧表示されるので、意図どおりに取れているかを確認できます。
よくある質問
- どの正規表現エンジンを使っていますか?
- お使いのブラウザに搭載されたJavaScript(ECMAScript)のエンジンです。後読み、名前付きグループ (?<name>...)、uフラグ付きのUnicodeプロパティエスケープ \p{...}、sフラグは最近のブラウザで利用できます。PCREやPython、Java固有の機能(強欲な量指定子や (?i) のようなインライン修飾子など)は使えません。
- 最初の1件しかマッチしないのはなぜですか?
- gフラグがないと、正規表現は最初のマッチで停止します。テキスト内のすべての出現箇所を一覧したい場合は、フラグ欄にgを追加してください。
- 各フラグの意味を教えてください。
- g:すべてのマッチを取得。i:大文字小文字を区別しない。m:^と$がテキスト全体ではなく各行の先頭・末尾にマッチ。s:ドットが改行にもマッチ。u:パターンとテキストをUnicodeコードポイント単位で扱う(絵文字や \p{L} などに必要)。y:現在位置からのみマッチ(sticky)。
- テスト用のテキストはどこかに送信されますか?
- いいえ。マッチ処理はすべてブラウザ内で行われます。本番のログや個人情報、ソースコードを貼り付けても端末の外には出ません。
- パターンを実行すると固まる、または非常に時間がかかるのはなぜですか?
- (a+)+ のようにネストした量指定子を持つパターンは、マッチしない入力に対して壊滅的なバックトラックを起こすことがあります。量指定子をより具体的にする、文字クラスを限定する、パターンをアンカーで固定して探索範囲を減らす、といった対処が有効です。