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