我想在单词的开头或结尾搜索'ed‘这个词,下面的SQL语句只匹配一个准确的单词匹配。
SELECT * FROM ul_product
where productname REGEXP '\\bed\\b'如果我执行以下操作,就会得到ed位于单词开头或结尾的结果。
SELECT * FROM ul_product
where productname REGEXP '(\\bed)|(ed\\b)'应该是这样的吗?
网上对词语边界和实例的描述使我相信,报表1将产生报表2的结果。
我可以使用我创建的语句作为我的“精确”和“部分”匹配,但这是对的吗?
发布于 2020-06-28 08:52:10
Regex '\\bed\\b'搜索被单词边界包围的'ed',换句话说,它搜索单词'ed'。
在另一端,regex:'(\\bed)|(ed\\b)'搜索'\\bed'或'ed\\b' (管道字符在regexes中表示“或”)。因此,它在'ed'上匹配一个单词的开头或结尾-这似乎是您想要的。
请注意,这里没有必要使用括号。你可以把这个写成:
where productname REGEXP '\\bed|ed\\b'https://stackoverflow.com/questions/62620251
复制相似问题