regexp_extract_all

description

Syntax

VARCHAR regexp_extract_all(VARCHAR str, VARCHAR pattern)

对字符串 str 进行正则匹配,抽取符合 pattern 的第一个子模式匹配部分。需要 pattern 完全匹配 str 中的某部分,这样才能返回 pattern 部分中需匹配部分的字符串数组。如果没有匹配或者pattern没有子模式,返回空字符串。

example

  1. mysql> SELECT regexp_extract_all('AbCdE', '([[:lower:]]+)C([[:lower:]]+)');
  2. +--------------------------------------------------------------+
  3. | regexp_extract_all('AbCdE', '([[:lower:]]+)C([[:lower:]]+)') |
  4. +--------------------------------------------------------------+
  5. | ['b'] |
  6. +--------------------------------------------------------------+
  7. mysql> SELECT regexp_extract_all('AbCdEfCg', '([[:lower:]]+)C([[:lower:]]+)');
  8. +-----------------------------------------------------------------+
  9. | regexp_extract_all('AbCdEfCg', '([[:lower:]]+)C([[:lower:]]+)') |
  10. +-----------------------------------------------------------------+
  11. | ['b','f'] |
  12. +-----------------------------------------------------------------+
  13. mysql> SELECT regexp_extract_all('abc=111, def=222, ghi=333','("[^"]+"|\\w+)=("[^"]+"|\\w+)');
  14. +--------------------------------------------------------------------------------+
  15. | regexp_extract_all('abc=111, def=222, ghi=333', '("[^"]+"|\w+)=("[^"]+"|\w+)') |
  16. +--------------------------------------------------------------------------------+
  17. | ['abc','def','ghi'] |
  18. +--------------------------------------------------------------------------------+

keywords

  1. REGEXP_EXTRACT_ALL,REGEXP,EXTRACT,ALL