在 MySQL Regex 中捕获组
在 MySQL 中使用正则表达式 (regex) 时,通常需要提取匹配文本的特定部分进入捕获组。然而,与其他语言不同的是,MySQL 并没有提供直接的语法来在后续的正则表达式操作中引用这些组。
问题:
如何在中引用捕获组MySQL 正则表达式?
答案:
在 MySQL 中,捕获组是使用特殊符号引用的。对于 MySQL 8 及更高版本:
示例:
SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)',''); -- Returns "overflowstack"
此正则表达式捕获两组:
REGEXP_REPLACE() 函数将原始字符串替换为第二组,后跟第一组,有效地反转第一组的顺序五个字符。
注意:对于 MariaDB,引用捕获的符号略有不同,使用 1、2 等,而不是 $1、$2。
以上是如何在 MySQL 正则表达式中引用捕获组?的详细内容。更多信息请关注PHP中文网其他相关文章!