php - mysql 查询中的正则表达式

标签 php mysql regex

我在表中找不到以 CR 和 1 个空格和 4 到 6 个数字开头的数据

查询

SELECT `order_det_ref_no` FROM `manufacturers_order` WHERE
`order_det_ref_no` REGEXP '%^CR\s+\b\w{4,6}$%'

enter image description here

最佳答案

MySQL 正则表达式不使用正则表达式分隔符,也不支持 \b (它使用[[:<:]]作为单词开始位置,使用[[:>:]]作为单词结束位置),\s , \w正则表达式速记类。使用

REGEXP '^CR[[:space:]]+[[:alnum:]_]{4,6}$'

请注意[[:space:]]匹配水平和垂直空白,您可以使用 [[:blank:]]如果您还需要仅匹配水平空白。

关于php - mysql 查询中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41058766/

相关文章:

php - MySQL 数据库编码与 php

java - Java 真的如其声称的那样转义了反斜杠吗?

regex - awk 或 sed : Return lines between two instances of the same pattern

php -/usr/share 中 php 和 php5 目录的用途

php - 在 PHP 中创建和使用魔术方法

mysql - 需要有关 4 个表的 SQL 查询的帮助

mysql - 在大表上运行 ALTER 迁移的建议

javascript - PHP 查询返回相同的数据,即使它发生了变化

php - 运行时异常 : Unable to create the cache directory (/var/www/sonata/app/cache/dev)

ruby - 另一个与 "diff.*\n.*\n.*\n.*\n.*\n "相同的正则表达式