gpt4 book ai didi

php - 使用带有通配符的 MySQL REGEX anchor

转载 作者:行者123 更新时间:2023-11-29 08:33:17 25 4
gpt4 key购买 nike

假设我有包含“ super 计算机”一词的数据库内容。我想使用以下内容进行搜索:

select * from content where content REGEXP '[[:<:]]super*[[:>:]]';

我希望进行搜索的用户能够添加通配符,例如?和 *。我想要全字搜索,除非用户按照我上面的解释进行操作,所以使用 [ REGEX 'super' ] 不是一个选项。

我认为这会起作用,但我想我对使用表达式仍然很陌生。

最佳答案

通配符*在正则表达式中意味着不同的东西(有点)。它表示一个序列可以重复零次或多次,而不是有一些零或更多长度的文本可以被替换。

如果您希望用户能够使用这样的通配符,则必须进行一些预处理,但您可以简单地将任何 * 替换为表达式:\w *。这表示您需要零个或多个单词字符,而不是空格或标点符号。所以完整的表达式如下所示:

select * from content where content REGEXP '[[:<:]]super.*[[:>:]]';

这表示您想要任何以“super”开头且仅包含单词字符并被单词边界包围的序列。

关于php - 使用带有通配符的 MySQL REGEX anchor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15962299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com