使用MySQL中的REGEXP以随机顺序匹配搜索引擎的关键字
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用MySQL中的REGEXP以随机顺序匹配搜索引擎的关键字,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1050字,纯文字阅读大概需要2分钟。
内容图文
我正在尝试使用正则表达式将用户输入的搜索字符串与我的MySQL数据库中的条目标题相匹配.
例如,我的数据库中的表中有以下行:
id title
1 IM2 - Article 3 Funky Business
2 IM2 - Article 4 There's no Business That's not Show Business
3 IM2 - There's no Business That's not Show Business
4 CO4 - Life's a business
当用户搜索“IM Article Business”时,将执行以下查询(使用str_replace将空格替换为“(.*)”):
SELECT * FROM mytable WHERE title REGEXP 'IM(.*)Article(.*)Business'
这将返回前两行.
现在,我希望它在用户使用相同的单词时显示相同的结果,但是在另一个顺序中,例如:“Business IM Article”.结果必须包含输入的所有单词,只有输入单词的顺序无关紧要.
我无法弄清楚如何以任何方式做到这一点,并希望正则表达式将是答案.我以前从未使用过它们,所以有人知道怎么做吗?
谢谢,
帕斯卡尔
解决方法:
这不是正则表达式擅长的.幸运的是,这是SQL非常擅长的东西. (我将不使用mysql的regexp关键字,我甚至不知道它存在,而是使用SQL标准“%”glob匹配.)
从mytable中选择*,其中标题为’%IM%’,标题为’%Article%’,标题为’%Business%’
现在title必须包含所有三个字符串,但您尚未指定订单.正是你想要的.
内容总结
以上是互联网集市为您收集整理的使用MySQL中的REGEXP以随机顺序匹配搜索引擎的关键字全部内容,希望文章能够帮你解决使用MySQL中的REGEXP以随机顺序匹配搜索引擎的关键字所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。