2017-07-04 3 views
0
SELECT REGEXP_EXTRACT('name=北海道新幹線|gauge=1435|layer=2|usage=main|bridge=yes|', r'layer=(-?[0-9]+)|') AS Layer 

がnullです。Google BigQuery - utf-8の正規表現関数

select REGEXP_EXTRACT('layer=2|',r'layer=(-?[0-9]+)|') as layer 

募集結果を得ながら:

2は、私が最初のものが原因UTF-8文字に失敗した疑いがありますか?

最初の文字列のレイヤ情報を抽出するにはどうすればよいですか?

答えて

1

末尾の|は、ORと解釈されます。あなたは、バックスラッシュがなければバックスラッシュ、例えば:

SELECT REGEXP_EXTRACT('name=北海道新幹線|gauge=1435|layer=2|usage=main|bridge=yes|', r'layer=(-?[0-9]+)\|') AS Layer 

で正規表現をパターンまたは空の文字列として解釈されるので、あなたが作品を持っている第二の例を、それをエスケープする必要があります。