MariaDB REGEXP_REPLACE() 函数使用指南

在 MariaDB 中,REGEXP_REPLACE() 函数在一个字符串中使用新内容替换一个和指定的正则表达式匹配的内容。

MariaDB REGEXP_REPLACE() 语法

这里是 MariaDB REGEXP_REPLACE() 的语法:

REGEXP_REPLACE(str, regexp, replacement)

参数

str
必需的。一个字符串。
regexp
必需的。正则表达式。
replacement
必需的。用来替换的字符串。

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

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

返回值

MariaDB REGEXP_REPLACE() 函数在 str 中使用 replacement 替换和正则表达式 regexp 匹配的内容,并返回替换后的结果。

如果 str, regexp 或者 replacementNULLREGEXP_REPLACE() 将返回 NULL

MariaDB REGEXP_REPLACE() 示例

SELECT REGEXP_REPLACE('123 abc 456 def', '\\s+', '-');

输出:

+------------------------------------------------+
| REGEXP_REPLACE('123 abc 456 def', '\\s+', '-') |
+------------------------------------------------+
| 123-abc-456-def                                |
+------------------------------------------------+

在这个示例中,我们使用 - 替换了所有的空格。

结论

在 MariaDB 中,REGEXP_REPLACE() 函数在一个字符串中使用新内容替换一个和指定的正则表达式匹配的内容。