MariaDB REGEXP_SUBSTR() 函数使用指南

在 MariaDB 中,REGEXP_SUBSTR() 函数从一个字符串中查找和指定正则表达式匹配的子串并返回。

MariaDB REGEXP_SUBSTR() 语法

这里是 MariaDB REGEXP_SUBSTR() 的语法:

REGEXP_SUBSTR(str, regexp)

参数

str
必需的。一个字符串。
regexp
必需的。正则表达式。

请注意,在撰写本文时,MariaDB 的版本接受的参数比 MySQL 的REGEXP_SUBSTR()少。MySQL 的 REGEXP_SUBSTR() 允许您为搜索的起始位置提供参数,搜索哪个匹配项,以及优化正则表达式的方法。

如果您未提供参数或提供了错误数量的参数,MariaDB 将报告一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'REGEXP_SUBSTR'

返回值

REGEXP_SUBSTR() 函数在 str 中搜索和正则表达式 regexp 匹配的子字符串并返回。如果没有匹配到,则返回 NULL

如果 str 或者 regexpNULLREGEXP_SUBSTR() 将返回 NULL

MariaDB REGEXP_SUBSTR() 示例

以下语句用来找出字符串 '123 abc 456 def' 中的第一组连续的数字。

SELECT REGEXP_SUBSTR('123 abc 456 def', '\\d+');

输出:

+------------------------------------------+
| REGEXP_SUBSTR('123 abc 456 def', '\\d+') |
+------------------------------------------+
| 123                                      |
+------------------------------------------+

在本例中,存在匹配项,并返回子字符串。

结论

在 MariaDB 中,REGEXP_SUBSTR() 函数从一个字符串中查找和指定正则表达式匹配的子串并返回。