2012-10-04 13 views
6

Ich versuche, alle Telefone in einer Datenbank, die nicht mit dem Format dieses Beispiels übereinstimmen '(11) 1234-5678' übereinstimmen.Probleme mit übereinstimmenden Leerzeichen mit MySql REGEX

Ich habe Probleme eine regexp wegen der Leerzeichen zu definieren, habe ich diese Tests durchgeführt:

SELECT '(11) 1234-5678' REGEXP "\([0-9]{2}\)" -> 1 
SELECT '(11) 1234-5678' REGEXP "\([0-9]{2}\).*" -> 1 
SELECT '(11) 1234-5678' REGEXP "\([0-9]{2}\) " -> 0 
SELECT '(11) 1234-5678' REGEXP "\([0-9]{2}\)[:blank:]" -> 0 
SELECT '(11) 1234-5678' REGEXP "\([0-9]{2}\)[:space:]" -> 0 

Ich habe absolut keine Ahnung, warum kann ich nicht bekommen mysql ein Leerzeichen entsprechen.

EDIT:

ich mysql 5.5.24

Antwort

5

Verwenden bin mit:

SELECT '(11) 1234-5678' REGEXP "\\([0-9]{2}\\)[[:space:]]" 
+0

Es ist auch nicht zu arbeiten. – hchinchilla

+0

@hchinchilla Sie müssen auch '\' durch '\\' umgehen, versuchen Sie es erneut. – xdazz

+0

Danke @xdazz, jetzt funktioniert es. – hchinchilla

Verwandte Themen