REGEXP_EXTRACT函數用於在字串source中按照pattern進行字串匹配,並返回第group_id個組匹配到的字串內容。
注意事項
REGEXP_EXTRACT函數在Hive相容資料類型版本中遵循Java regex規範。而在1.0和2.0資料類型版本中,則遵循MaxCompute的規範。
命令格式
STRING REGEXP_EXTRACT(STRING <source>, STRING <pattern>[, BIGINT <group_id>])參數說明
source:必填。STRING類型,被匹配的字串。
pattern:必填。STRING類型常量或Regex。用於匹配的子字串或Regex。更多Regex編寫規範,請參見Regex規範。
group_id:可選。BIGINT類型。取值大於等於0。
如果不指定group_id,預設為1,返回匹配的第一個組。
如果指定group_id,返回第group_id個組匹配到的字串內容。
如果group_id等於0,則返回滿足整個pattern的子串。
說明
資料以UTF-8格式儲存。對於中文字元可以用對應的16進位編碼錶示,中文字元編碼的範圍是[\\x{4e00},\\x{9fa5}]。
傳回值說明
返回STRING類型。返回規則如下:
如果pattern為空白串或pattern中沒有分組且未指定group_id,返回報錯。
說明執行
SET odps.sql.bigquery.compatible=true;開啟BigQuery相容模式,如果pattern中沒有分組且未指定group_id時,則返回滿足整個pattern的子串。group_id非BIGINT類型或小於0時,返回報錯。
source、pattern或group_id值為NULL時,返回NULL。
相關函數
REGEXP_EXTRACT函數屬於字串函數,更多尋找字串、轉換字串格式的相關函數請參見字串函數。