我正在开展一个项目,该项目需要查找包含精确字符串或作为精确格式一部分的相同字符串的记录。换句话说,如果字符串是“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 还不够......?
如往常一样,我们将不胜感激任何建议。
最佳答案
关于mysql - 查找包含精确字符串的 MySQL 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34693469/