You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中匹配特定模式的正则表达式:字符串后接数字或空

解决MySQL中REGEXP匹配"marketing后接空或仅数字"的问题

嘿,我来帮你搞定这个正则匹配的坑!你遇到的问题核心是没有锚定字符串的首尾,同时没处理"marketing后无内容"的情况,导致要么漏匹配纯'marketing',要么错误匹配带非数字后缀的内容。

正确的正则表达式

直接用这个正则就能精准匹配你要的情况:^marketing\d*$

拆解一下每个部分的作用:

  • ^:锚定字符串的开头,确保匹配从字符串第一个字符开始
  • marketing:固定匹配你要的前缀文本
  • \d*:匹配0个或多个数字(*表示允许0次,刚好覆盖纯'marketing'的情况;如果用+就要求至少1个数字,这就是你之前漏匹配纯'marketing'的原因)
  • $:锚定字符串的结尾,确保匹配到字符串最后一个字符,这样就不会把'marketing44Tomorrow'这类后面带非数字的内容误匹配了

示例SELECT语句

假设你的表名为your_table,目标列名为target_column,完整的查询语句如下:

SELECT target_column FROM your_table WHERE target_column REGEXP '^marketing\\d*$';

注意:在MySQL中,正则里的反斜杠\需要转义成\\,如果觉得麻烦,也可以用[0-9]代替\d,写成^marketing[0-9]*$,效果完全一样。

测试验证

这个正则会匹配:

  • 纯marketing
  • marketing1、marketing12、marketing999这类带任意数字后缀的内容

不会匹配:

  • marketing44Tomorrow(后面有非数字字符)
  • marketings(后缀是字母)
  • xmarketing(前缀有额外字符)

内容的提问来源于stack exchange,提问作者Shahin Shadfar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:23:20