首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL 8+ Regex字界

MySQL 8+ Regex字界
EN

Stack Overflow用户
提问于 2020-06-28 08:47:32
回答 1查看 497关注 0票数 2

我想在单词的开头或结尾搜索'ed‘这个词,下面的SQL语句只匹配一个准确的单词匹配。

代码语言:javascript
复制
SELECT * FROM ul_product
where productname REGEXP '\\bed\\b'

如果我执行以下操作,就会得到ed位于单词开头或结尾的结果。

代码语言:javascript
复制
SELECT * FROM ul_product
where productname REGEXP '(\\bed)|(ed\\b)'

应该是这样的吗?

网上对词语边界和实例的描述使我相信,报表1将产生报表2的结果。

我可以使用我创建的语句作为我的“精确”和“部分”匹配,但这是对的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-28 08:52:10

Regex '\\bed\\b'搜索被单词边界包围的'ed',换句话说,它搜索单词'ed'

在另一端,regex:'(\\bed)|(ed\\b)'搜索'\\bed''ed\\b' (管道字符在regexes中表示“或”)。因此,它在'ed'上匹配一个单词的开头或结尾-这似乎是您想要的。

请注意,这里没有必要使用括号。你可以把这个写成:

代码语言:javascript
复制
where productname REGEXP '\\bed|ed\\b'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62620251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档