
MySQL正则表达式替换:删除特定字符串及后续内容
本文介绍如何在MySQL中使用正则表达式替换特定字符串及其之后的所有内容。例如,数据库字段中以“@&”分隔的数据,可以使用regexp_replace函数进行处理。
regexp_replace函数用法:
<code class="sql">regexp_replace(目标字符串, 正则表达式, 替换内容)</code>
示例:
假设需要删除字段中“@&”及其之后的所有字符:
<code class="sql">SELECT regexp_replace('123@&baidu', '@&.*', '') AS 结果1;
SELECT regexp_replace('google@&sohu', '@&.*', '') AS 结果2;</code>
输出:
<code>结果1 | 结果2 -------|------- 123 | google</code>
正则表达式解释:
-
@&: 匹配字面量“@&”。 -
.*: 匹配任意长度的任意字符(包括空字符串)。
注意事项:
此方法会替换所有匹配的子串。如果需要保留换行符,请将.*替换为[^\n]*,这样可以排除换行符。
MySQL正则表达式参考:
更多关于MySQL正则表达式的细节,请参考MySQL正则表达式官方文档










