Google スプレッドシートは、REGEXMATCH や REGEXEXTRACT といった関数で正規表現が使える。
こんな感じで
|
|
ただ、この正規表現は RE2 という正規表現エンジンを使っているようで、普段自分が JavaScriptなどで使っている書き方とは異なるものがあった。のでメモ。
具体的には、パターン修飾子、single line や 欲張りでないマッチについて。
パターン修飾子の single line
正規表現のドット .
が改行を含むかどうかの指定。
JavaScript だと
|
|
といった書き方になる。最後の /s
パターン修飾子。これでドットは改行にマッチするようになる。
スプレッドシートの場合は
|
|
と書く。正規表現の先頭に (?s)
をつける。
パターン修飾子の欲張りでないマッチ
JavaScript だと
|
|
といった書き方。量指定子のあとに ?
をつけることで、欲張りでないマッチになる。
スプレッドシートの場合は
|
|
と書く。正規表現の先頭に (?U)
をつける。ungreedy の U らしい。
その他
single line も欲張りでないマッチも有効にしたい場合は
|
|
とこんな感じ。
スプレッドシートで使える正規表現 RE2 のドキュメントは、ここを見ればよさそう