mysql - 查找包含精确字符串的 MySQL 记录

标签 mysql regex

我正在开展一个项目,该项目需要查找包含精确字符串或作为精确格式一部分的相同字符串的记录。换句话说,如果字符串是“hello world”,那么数据库中可能有 10 条记录具有此字段值,但该字段可能是以下之一:

"1. hello world"
"1 hello world"
"hello world"
"hello world (xyz)"
"1. hello world (xyz)"
"1 hello world (zyx)"

字符串“hello world”可以是任何内容,但前缀始终以数字开头或不存在,后缀始终以括号结尾或不存在。

我以为我用下面的正则表达式破解了它,但这没有返回任何记录:

WHERE fieldname REGEXP '^([0-9]+.*)?[[:<:]]hello world[[:>:]](.*\))?$'

此外,我之前从未使用过 [[:<:]] [[:>:]] 并假设这是要走的路,我不确定如何转义之间的文本,因为这将是 PHP生成?文档说要加倍转义反斜杠,所以我猜 mysql_real_escape_string 还不够......?

如往常一样,我们将不胜感激任何建议。

最佳答案

试试这个

WHERE fieldname LIKE '%hello world%'

您可以阅读更多关于“LIKE”的信息 here .

关于mysql - 查找包含精确字符串的 MySQL 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34693469/

相关文章:

mysql - Xampp phpMyAdmin 访问被拒绝

PHP 将 csv 加载到 sql 表中仅在授予 @localhost 的所有权限时才有效

javascript - 如何从 html 标签中删除子字符串

javascript - 如何区分数字串和字符串?

android - 有什么方法可以将一些字符串添加到 Android Studio 中正则表达式找到的内容中吗?(ctrl+shift+R)

c# - 在特定符号前后插入(单个)空格

mysql - 从 CSV 导入时 PHPMYADMIN 权限被拒绝

MySQL phpMyAdmin当前日期时间的平均值计数事件

mysql - 我可以在内部查询中使用内部查询来获取第 3 个最大值或第 n 个最大值 id 吗?

Javascript - 返回方括号之间的字符串