2

Google スプレッドシートで正規表現を使用して URL から抽出しようとしています。ただし、スプレッドシートは#VALUE!次のエラーを返します: 無効な正規表現: 無効な perl 演算子: (?<

私が使用している正規表現は次のとおりです。(?<=raid_boss=)[a-zA-Z0-9_]+

サンプル URL には、変数が含まれていますraid_boss=name。この正規表現は名前を抽出する必要があります。テスト プログラムでは機能しますが、Google スプレッドシートでは機能しません。

Googleスプレッドシートのセルの正確な内容は次のとおりです。=REGEXEXTRACT( B1 ; "/(?<=raid_boss=)[-a-zA-{}-9_]+" )

洞察や助けをいただければ幸いです。ありがとうございます。

4

2 に答える 2

2

Google ドキュメントが使用している正規表現エンジンは、後読みアサーションをサポートしていないようです。それらは比較的まれな機能です。

ただし、キャプチャを使用する場合、REGEXEXTRACT はキャプチャされたテキストを返すため、そのようにすることができます。

=REGEXEXTRACT( B1 ; "raid_boss=([a-zA-Z0-9_]+)" )
于 2012-05-04T00:24:02.130 に答える
0

Javascript は問題ではありません。Google スプレッドシートは、他の便利なものとともに後読みがないRE2を使用します。

あなたが使用することができます:

regexextract(B1, ".*raid_boss=(.*)")  

または、それが機能しない場合は、FIND、SUBSTITUTE などのネイティブ シート関数

良い正規表現テスト ツールを見つけるのは難しいです。たとえば、http://rubular.com/ では機能するが、GSheets では失敗するものを作成できます。ツールが RE2 フレーバーをサポートしていることを確認する必要があります。例: https://regoio.herokuapp.com/

于 2016-11-16T02:36:05.760 に答える