全部產品
Search
文件中心

MaxCompute:REGEXP_EXTRACT

更新時間:Sep 10, 2025

REGEXP_EXTRACT函數用於在字串source中按照pattern進行字串匹配,並返回第group_id個組匹配到的字串內容。

注意事項

REGEXP_EXTRACT函數在Hive相容資料類型版本中遵循Java regex規範。而在1.02.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時,返回報錯。

  • sourcepatterngroup_id值為NULL時,返回NULL。

相關函數

REGEXP_EXTRACT函數屬於字串函數,更多尋找字串、轉換字串格式的相關函數請參見字串函數