php - 有没有人发现 REGEX "\b"在 MYSQL 中不起作用?

标签 php mysql regex

有没有人发现 REGEX "\b"在 MYSQL 中不起作用?

我有一个很好的正则表达式,它使用正则表达式引擎匹配得很好

^(//)?w7\b

但是当我将它用作 MYSQL 查询的一部分时

WHERE ( e.department REGEXP '^(//)?w7\b' )

它不会匹配。如果我删除\b 组件,匹配效果很好,但它不符合我对\b 所需的准确性(基本上我只需要匹配整个单词 W7)

谢谢!

最佳答案

对于 MySQL 8.0.4 之前的 MySQL 版本,REGEXP (MySQL 5.6 ref)文档表明词首/词尾标记是:

[[:<:]], [[:>:]]

These markers stand for word boundaries. They match the beginning and end of words, respectively.

试试:

WHERE ( e.department REGEXP '^(//)?w7[[:>:]]' )

After 8.0.4 , \b 用于字边界。

关于php - 有没有人发现 REGEX "\b"在 MYSQL 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6403104/

相关文章:

javascript - 如何从表中获取具有确切 ID 的产品?

MySQL Workbench 保存数据库

具有多个连接的 MySQL 查询执行时间太长

PHP- mysqli->num_rows 总是返回 0,准备语句

php - 常见的未知 PHP 安全陷阱

mysql - (My)SQL JOIN - 获取具有完全指定成员的团队

java - 使用Java正则表达式匹配前面没有百分号的字母字符

java - 什么是正确的正则表达式?

正则表达式导致无限挂起

php - Echo 不打印对象值