Googleスプレッドシートのシート機能で機能するように、「1.2.3」から「1.2。」を選択する(つまり、最後の桁グループの前のすべての桁とドットを選択する)パターンを作成しようとしています。REGEXEXTRACT
^([0-9]+\.)+
おそらくPerlとGoogle / re2の両方の仕様に対応するパターンを思いついた。だから、私のコードは次のとおりです。
=REGEXEXTRACT("1.2.3";"^([0-9]+\.)+")
https://regexr.com/で「1.2。」を返し、https://regex101.com/で全体の結果として「1.2。」を返し、グループ1として「2.」を返すテストを行いました。
ただし、Googleスプレッドシートでは、「2」のみが返されます。
私はそれが次のいずれかに関連していると思います:
REGEXEXTRACT
(これはGoogle / re2の仕様に反します。上記の項目2をうまく利用するために、回避策を試しました。そこで、パターンをに変更しました(^([0-9]+\.)+)
。私が上でそれをテストしhttps://regexr.com/それが返すところ、「1.2。」と上https://regex101.com/それが戻り、「1.2。」結果全体として、グループとして1。残念ながら、それがトリガー#REF!
エラーをGoogleスプレッドシート。
それで、私の質問-Googleスプレッドシートで可能な限り長い部分文字列を貪欲に選択する方法または回避策は何ですか。
これが役立つかどうかを確認する
=regexextract("1.2.3","^([0-9.]+)[^\.]+$")
または、文字列「1.2.3」でセルを参照します
=regexextract(A2, "^([0-9.]+)[^\.]+$")
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加