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

如何在SQL中组合REGEXP规则筛选符合前缀、中间词、后缀要求的文件名

MySQL REGEXP多条件整合方案

你可以选择两种写法实现需求:

写法1:合并为单个正则表达式(性能更优)

SELECT * FROM files WHERE file_name REGEXP '^company.*[[:<:]]dog[[:>:]].*xlsx$';

规则说明:

  • ^company 匹配以指定前缀单词开头的文件名
  • .* 匹配任意数量的任意字符,适配前缀和中间词、中间词和后缀之间的任意内容
  • [[:<:]]dog[[:>:]] 匹配完整的独立单词dog,如果不需要限制为完整单词,直接写dog即可
  • xlsx$ 匹配文件名以xlsx结尾,严格限定后缀

写法2:拆分多条件(可读性更高)

如果不想写复杂的长正则,也可以直接用AND连接你原来的单条件逻辑:

SELECT * FROM files 
WHERE file_name REGEXP '^company'
  AND file_name REGEXP 'dog' -- 需要完整单词就改成REGEXP '[[:<:]]dog[[:>:]]'
  AND file_name REGEXP 'xlsx$';

补充说明:你之前用到的xlsx[[:>:]]是单词边界匹配,仅能保证xlsx是独立单词,无法保证它在文件名末尾,用xlsx$匹配字符串结尾更符合后缀筛选的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:54:02