我有这个正则表达式在我的所有测试中都能正常工作,但是我无法让它在MySQL中工作,尽管有一些例子我一直在谷歌上搜索并试图改变:
^[A-Za-z]{2,4}-\d{3}-\d{2}$
在Javascript中,它正确地匹配AA-001-01通过ZZZZ-999-99,所以有不同的调整试过在MySQL中的正则表达式,都没有运气:
SELECT * FROM products WHERE sku REGEXP '^[A-Za-z]{2,4}-\d{3}-\d{2}$'
Run Code Online (Sandbox Code Playgroud)
(该表包含数千条sku与上面给出的样本匹配的记录)
尽管我可以说,Mysql Regex支持是有限的,但如果这不能正常工作,还是有一些进一步的语法考虑与Mysql一起工作?
要匹配数字,您应该使用[0-9]或[[:digit:]].
试试这个:
SELECT col1, col2, ..., coln
FROM products
WHERE sku REGEXP '^[A-Za-z]{2,4}-[0-9]{3}-[0-9]{2}$'
Run Code Online (Sandbox Code Playgroud)
看到它在线工作:sqlfiddle.
请参阅手册REGEXP.
| 归档时间: |
|
| 查看次数: |
5317 次 |
| 最近记录: |