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

如何在SQL中用REGEX匹配首字母f尾字母k的单词以标记品牌搜索词

问题修复方案

原正则^[f].*[k]$的逻辑是匹配整个搜索查询字符串以f开头、以k结尾,而非匹配字符串中存在符合「首字母f、尾字母k」规则的单词,因此产生大量误匹配。

调整后的代码如下,同时保留了原有的正确匹配flnk的逻辑:

case
when REGEXP_MATCH(Query, '.*(flnk|\\bf[a-zA-Z]*k\\b).*') THEN 'Branded'
ELSE 'Non-branded'
END

规则说明

  • \\b是Google Data Studio使用的RE2正则标准中的单词边界标识,用来匹配单词的起止位置,避免匹配到单词中间出现的f、k字符
  • f[a-zA-Z]*k匹配首字母为f、尾字母为k,中间包含任意数量英文字母的单词
  • 外层.*保证只要字符串任意位置存在符合规则的内容即可匹配成功
  • 如果需要兼容大小写拼写(如Flnk、FLNK等),可以将正则调整为'.*(flnk|\\b[Ff][a-zA-Z]*[Kk]\\b).*'

如果你的公司名称固定为4位字符,还可以进一步限制中间字母的长度降低误判率,将f[a-zA-Z]*k修改为f[a-zA-Z]{2}k即可,仅匹配长度为4、首f尾k的单词。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:36:04