Googleスプレッドシートの「検索と置換」メニューで使える先読みと後読みについてです。先読みと後読みの詳しい解説は省略し、ここでは使用例だけ紹介します。
- 「検索と置換」メニューで正規表現の先読みと後読みを使うことができます。
手順
B3:B6に入力されている文字列のうち、「りんご」よりも前にある文字を削るものとします(つまりB3セル内の「青森県産」という部分とB5セル内にある「米国産」という部分を削る)。
これを「検索と置換」メニューを使ってやってみます。
手順は次のとおりです。
- B3:B6の範囲を選択する。
- ダイアログ中の「正規表現を使用した検索」にチェックを入れる(「大文字と小文字の区別」にも自動的にチェックが入る)。
- 「検索」欄に(一例として)「.+(?=りんご)」と入力する。
- 「すべて置換」をクリックする。
すると狙いどおりに削除ができました。これが「肯定先読み」の使用例です。
「肯定先読み」は「先方(文字列の右側)に~が続く」という意味です。これを含めて先読みと後読みは次の4種に分類されます。
- 肯定先読み……先方(右側)に~(パターン)が続く。正規表現は「(?=パターン)」
- 否定先読み……先方に~が続かない。正規表現は「(?!パターン)」
- 肯定後読み……後方(左側)に~が続く。正規表現は「(?<=パターン)」
- 否定後読み……後方に~が続かない。正規表現は「(?<!パターン)」
これらの先読みと後読みはREGEX~関数では使えません。
- 肯定先読み……先方(右側)に~(パターン)が続く。正規表現は「(?=パターン)」