2013-03-12 11 views
5

Kiedy próbuję użyć następującego wyrażenia regularnego w sql, otrzymuję błąd.Wystąpił błąd "operacja powtórzenia-operator niepoprawny" z regexp - mysql

[0-9]{10,}|(?:[\+\(]|1\-)\s*[0-9]+([ \.\(\)\-/x]+[0-9]{2,})+[0-9] 

Proszę dać mi znać, że popełniłem błąd w tej sprawie.

Błąd Dostaję jest

1139 Got error 'operand powtórzenie-operator nieważny' z regexp

+0

Nie jestem pewien, jakie ograniczenia ma regex MySQL, ale nie widzę tutaj niczego złego. Czy możesz pokazać nam jakiś przykładowy kod, który definiujesz i używasz tego wyrażenia? – Qtax

Odpowiedz

3

Zobacz bug http://bugs.mysql.com/bug.php?id=399

\ + jest coraz postrzegany jako powtarzania-Operator To też się nie udaje:

mysql> select 'fred' regexp('?[\+]'); 
ERROR 1139 (42000): Got error 'repetition-operator operand invalid' from regexp 
+0

Błąd nadchodzi z powodu?: Czy możesz mi powiedzieć, jak go używać?: W mysql regexp? –

+3

Spróbuj zmienić na^i uważam, że nadal powinien pojawić się błąd – PaulS