MYSQL 单词匹配的问题

MYSQL 单词匹配的问题,第1张

如果是英文单词,你可以写成

select publisher_name

from publisher

where publisher_name like '% and %'

(前后加空格)

但是效率很低,用得多,可以考虑建立 FULL TEXT 索引

mysql的正则表达式中[[:<:]], [[:>:]]表示单词的左右边界,如下示例:

mysql>SELECT 'a word a' REGEXP '[[:<:]]word[[:>:]]' ->1

mysql>SELECT 'a xword a' REGEXP '[[:<:]]word[[:>:]]' ->0

\w是匹配[a-zA-Z0-9] . ? 匹配一个或者0个前面的字符,* 匹配前面0个或者多个字符。

所以这个正则表达式匹配前面具有数字或者字母开头的,中间为word,后面为数字或者字母结尾的字符串。开头和结尾不能同时出现字母和数字。

以下几个例子可匹配:

11111111111wordcccccccccccccccccc

aaaaaaaaaaawordxxxxxxxxxxxxxxxxxx


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8583321.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-18
下一篇2023-04-18

发表评论

登录后才能评论

评论列表(0条)

    保存