简体   繁体   English

MySQL正则表达式在列上搜索

[英]MySQL regex searching on a column

I want to do a MySQL search on a column with this regex pattern: 我想使用此正则表达式模式在列上执行MySQL搜索:

/\\w.*\\s(Metro)\\s\\d{2}[-]\\d{4}/g

在此处输入图片说明

So my MySQL query is: 所以我的MySQL查询是:

SELECT vehicle_plate_number 
from users 
where vehicle_plate_number REGEXP '\w.*\s(Metro)\s\d{2}[-]\d{4}'

I have like 7 thousand entries with matching pattern but MySQL is returning zero results. 我有7,000个具有匹配模式的条目,但MySQL返回零结果。 Can't seem to detect the mistake here. 似乎无法在此处检测到错误。

MySQL's REGEXP has its own particular syntax. MySQL的REGEXP具有自己的特定语法。 It doesn't support \\s , \\d , or \\w , but we can still approximate these. 它不支持\\s\\d\\w ,但是我们仍然可以近似这些。 Here is a version of your pattern which seems to work: 这是您的模式的一个版本,该版本似乎有效:

SELECT vehicle_plate_number 
FROM users 
WHERE vehicle_plate_number REGEXP '[a-z0-9].*[[:space:]]Metro[[:space:]][0-9]{2}[-][0-9]{4}';

Demo 演示版

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM