2011-06-27 63 views
0

請建議將正則表達式'^({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的正則表達式

我執行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): Got error 'repetition-operator operand invalid' from regexp

回答

2

'[7-9] \ d {9}',也許?

編輯:等待,沒有,我猜\ d不是有效的MySQL中的正則表達式,所以'^ [7-9] [[:數字:]] {9} $'

究竟是在({0,1} {0,1}){0,1}位開始意味着什麼?