使用 MySQL 8.0+, 您可以使用本机
REGEXP_REPLACE功能。
12.5.2正则表达式:
REGEXP_REPLACE(expr, pat, repl[, pos[, occurrence[, match_type]]])将字符串 expr 中与模式 pat 指定的正则表达式匹配的匹配项替换为替换字符串 repl ,并返回结果字符串。如果
expr , pat 或 repl 为NULL,则返回值为NULL。
和正则表达式支持:
此前, MySQL的 使用的亨利斯宾塞正则表达式库来支持正则表达式运算符(
REGEXP,RLIKE)。使用Unipre国际组件(ICU)重新实现了对正则表达式的支持,该组件提供了完整的Unipre支持并且是多字节安全的。该
REGEXP_LIKE()函数以REGEXP和RLIKE运算符的方式执行正则表达式匹配,它们现在是该函数的同义词。
此外,REGEXP_INSTR(),REGEXP_REPLACE(),和REGEXP_SUBSTr()
功能可用于找到匹配的位置,并执行串分别取代和提取。
SELECT REGEXP_REPLACE('Stackoverflow','[A-Zf]','-',1,0,'c'); -- Output:-tackover-lowDBFiddle演示



