このページはGoogleスプレッドシート向けのRE2制約を前提に確認できます。
非対応になりやすい構文を事前に把握し、REGEX系関数へ貼り付ける式を作成できます。

よくある質問

JavaScriptの正規表現テスターと何が違いますか?
このページはRE2制約前提のため、JavaScriptで使える構文の一部が非対応になる可能性を警告します。
lookahead/lookbehind/後方参照は使えますか?
スプレッドシートでは非対応となるケースがあるため、警告内容を確認しながら代替パターンを検討してください。
このチェック結果で動作を保証できますか?
保証はできません。最終的な可否は対象シート上で式を実行して確認してください。

スプレッドシートRE2正規表現チェックと式生成

Googleスプレッドシートの RE2 相当パターンを静的チェックし、REGEXMATCH / REGEXEXTRACT / REGEXREPLACE の式を生成できる無料ツールです。lookaround や backreference などハマりやすい記法を事前警告し、コピペ用の式をブラウザ内で作成できます。

何ができるか

スプレッドシートの正規表現で詰まりやすい記法を静的チェックし、式を安全に組み立てます。
RE2の完全実行テスターではなく、禁止・非推奨パターンの早期検知と式生成に特化したツールです。

生成する関数
対象文字列の指定方法

例: A2 / $B$3 / 'Sheet 1'!C4

文字列直埋め込みを選んだ場合は式生成に使用されます。セル参照モードではサンプル確認用として使えます。

Lint結果: OK

現在のパターンでは、代表的な非対応記法は検知されませんでした。

ダブルクォート(")はスプレッドシート式用に "" へエスケープして出力します。

よく使うテンプレ

入力データは原則ブラウザ内で処理します。機密情報は入力しないでください。

使い方

  1. 生成したい関数(REGEXMATCH / REGEXEXTRACT / REGEXREPLACE)を選びます。
  2. 対象文字列の指定方法を選択し、セル参照または文字列を入力します。
  3. 正規表現パターンを入力し、必要なら置換文字列を設定します。
  4. 「式を生成」を押して、Lint警告と生成式を確認します。
  5. 問題なければ「式をコピー」でスプレッドシートへ貼り付けます。

判断基準

まず抽出か判定か置換かを先に決め、その関数に必要な最小パターンから組み立てると安定します。RE2制約があるため、複雑化より分割処理が基本です。

よくある失敗

  • JavaScriptで動いたlookbehindをそのまま貼り、シート側で失敗する。
  • 文字列直埋め込みでダブルクォートを未エスケープにして式エラーになる。
  • REGEXEXTRACTで複数候補を期待し、最初の一致のみ返る仕様を見落とす。

境界条件

  • 本ツールは静的Lintであり、スプレッドシート実行結果を完全再現するエンジンではありません。
  • 一般的には関数挙動が更新される可能性があるため、運用時は公式ヘルプとの突合が必要です。
  • 巨大データでの計算負荷評価までは行わないため、実シートでの再計測を推奨します。

具体例

  • 入力: 関数=REGEXEXTRACT、セル=A2、パターン=`[\\w.+-]+@[\\w.-]+\\.[A-Za-z]{2,}`。出力: メールアドレス抽出式を生成。
  • 入力: 関数=REGEXEXTRACT、セル=A2、パターン=`\\d+`。出力: 最初の数字列を抽出する式を生成。
  • 入力: 関数=REGEXREPLACE、セル=A2、パターン=`[^0-9]`、置換=`""`。出力: 数字以外を除去する式を生成。
RE2でハマりやすいポイント(折りたたみ)
  • lookaround や backreference など、PCRE/JavaScriptで動く記法が非対応な場合があります。
  • 複雑な1本の式より、抽出と判定を分割したほうが再現性が高くなります。
  • セル参照のほうが式の可読性と再利用性が高く、直埋め込みは一時検証向けです。

注意・免責

  • このツールは RE2 の完全互換テスターではなく、静的Lintと式生成を目的にしています。
  • 一部の記法可否はスプレッドシート側の仕様変更で変わる可能性があります。
  • 入力内容がURLクエリに含まれるため、共有時は公開してよい式や文字列のみ扱ってください。

関連用語

用語の意味は用語集でも確認できます(RE2 / lookbehind / backreference / キャプチャグループ)。

失敗しやすい式例

  • lookaroundを使う

    RE2では未対応のため式が期待どおり動きません。

    例: 入力例: (?<=abc)def / 出力: 非対応警告

  • backreferenceを前提にする

    \1 などの参照はRE2では使えません。

    例: 判断ポイント: キャプチャ再利用は別ロジックへ分離

境界値・例外ケース

  • 関数ごとの引数差

    REGEXREPLACEは置換文字列が必要で、他関数と引数構成が異なります。

    例: 入力例: REGEXREPLACE時に置換値未指定 / 出力: 式不備

  • 日本語/全角を含むパターン

    文字クラス指定がASCII前提だと期待外れになります。

    例: 判断ポイント: 対象文字集合を具体的に書く

よくあるミス

  • PCRE前提の知識で式を組む

    RE2制約を踏まえないとシート上で再現しません。

    例: 運用例: 先にチェック結果の非対応一覧を確認

  • 生成式をテスト行なしで本番列へ貼る

    想定外マッチが大量発生するリスクがあります。

    例: 判断ポイント: 先に数行で検証してから全列適用

FAQ

  • スプレッドシートの正規表現は何が違いますか?

    Googleスプレッドシートでは RE2 系の制約があり、PCREやJavaScriptで使える記法の一部が非対応です。このツールでは代表的な非対応候補を静的に警告します。

  • lookbehind が使えないのはなぜですか?

    RE2 では可変長・複雑な後読みを含む一部構文を採用していないためです。必要な場合は抽出を段階化し、前処理と後処理に分ける運用を推奨します。

  • うまく抽出できない時のチェックポイントは?

    1) パターンが空でないか、2) セル参照の指定が正しいか、3) キャプチャの括弧が閉じているか、4) 非対応構文の警告が出ていないかを順に確認してください。

  • セル参照と文字列直埋め込みはどちらが良いですか?

    通常運用はセル参照がおすすめです。式が短く再利用しやすく、入力の更新にも追従しやすくなります。文字列直埋め込みは一時検証向けです。

  • LintがOKでも実行エラーになるのはなぜですか?

    参照セルの中身や関数組み合わせ、シート側仕様差が影響するためです。最終的には実シートでの実行確認が必要です。

基本FAQ

  • 入力データは外部へ送信されますか?

    原則として送信されません。入力内容はブラウザ内で処理します。例外がある場合は各ツールページ内に明記しています。

  • 入力内容は自動保存されますか?

    原則として自動保存しません。コピーやダウンロードで保存する場合は、ご利用端末内に保存されます。

現在の入力内容とあわせて確認しやすいツールです。