いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Gドキュメント)正規表現のキャプチャを使った置換はできない

 Googleドキュメントの「検索と置換」で、正規表現のキャプチャグループを使った置換を行ったときの結果についてです。

  • キャプチャグループを使った置換はできません。置換先として「$1」と指定しても単にリテラル(文字)の「$1」に置き換えられます。(2022年7月現在)。

手順

 「100と50で150」という文字列が記されています。
 数字の連なりが3つありますが、それぞれに「円」という単位を加えて、「100円と50円で150円」という文字列に変換することを考えてみます。


 手入力以外のやり方としては、正規表現を使った置換が妥当と思われます。
 そこでメニューから「編集」→「検索と置換」と選択し、ダイアログに次のとおり入力して設定します(下記画像参照)。

  1. 「正規表現を使用する」にチェックを入れる
  2. 検索欄に「([0-9]+)」と入力する
  3. 置換欄に「$1円」と入力する

 検索欄を「[0-9]+」ではなく「([0-9]+)」とすることで数字の連なりのぞれぞれに「$1」という名前を付け、置換欄を「$1円」とすることでそれぞれに「円」の文字を加えようとしています。
 3箇所がハイライトされ(正規表現にマッチしているサイン)、うまくいっているように見えますが「すべて置換」をクリックすると……


 単に「$1」という文字に置き換えられただけの結果となりました。


 このようにGoogleドキュメントではキャプチャグループを使った置換ができません。これにより特に文字挿入ができないのが痛い点で、(これが可能であるWordなどと比べると)活用がかなり制限されます。

 なお、下記のヘルプにも「注:キャプチャグループは Googleスプレッドシートでのみ使用できます。」との記述があります。

support.google.com