MySQL 正则表达式
Posted
技术标签:
【中文标题】MySQL 正则表达式【英文标题】:MySQL regular expression 【发布时间】:2011-06-27 15:02:47 【问题描述】:请建议更改正则表达式 '^(0,10,1)0,1[7-9][0-9]0,10,10,1[0-9]1[0-9]7$'
以与 mysql 语句一起使用。
这个表达式使用 Java 完美,但使用 MySQL 失败。该模式是匹配一个以 [7-9] 开头的 10 位数字。
我执行了 MySQL 语句:
select '11' REGEXP '^(0,10,1)0,1[7-9][0-9]0,10,10,1[0-9]1[0-9]7$'
但它返回以下错误:
ERROR 1139 (42000): 从正则表达式中得到错误“重复操作符操作数无效”
【问题讨论】:
【参考方案1】:'[7-9]\d9',也许吧?
编辑:等等,不,我猜 \d 在 MySQL 正则表达式中无效,所以 '^[7-9][[:digit:]]9$'
开头的 (0,10,1)0,1 位究竟是什么意思?
【讨论】:
以上是关于MySQL 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章