MySQL正则表达式

时间:2011-06-27 15:02:48

标签: java mysql regex

请建议将正则表达式'^({0,1}{0,1}){0,1}[7-9][0-9]{0,1}{0,1}{0,1}[0-9]{1}[0-9]{7}$'更改为与MySQL语句一起使用 这个表达式使用Java工作得很好但是使用MySQL失败了。此模式匹配以[7-9]开头的10位数字。

我执行了MySQL声明:

select '11' REGEXP '^({0,1}{0,1}){0,1}[7-9][0-9]{0,1}{0,1}{0,1}[0-9]{1}[0-9]{7}$'

但是它返回了以下错误:

  

ERROR 1139(42000):从regexp获得错误'重复 - 运算符操作数无效'

1 个答案:

答案 0 :(得分:2)

'[7-9] \ d {9}',或许?

编辑:等等,不,我猜\ d在MySQL正则表达式中无效,所以'^ [7-9] [[:digit:]] {9} $'

一开始的({0,1} {0,1}){0,1} 位到底意味着什么?