2012-10-04 21 views
6

Tôi đang cố gắng khớp tất cả các điện thoại trong cơ sở dữ liệu không khớp với định dạng của ví dụ này '(11) 1234-5678'.Gặp sự cố khi kết hợp khoảng trắng giữa MySql REGEX

Tôi đang gặp rắc rối việc xác định một regexp vì khoảng trắng, tôi đã làm bài kiểm tra này:

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 

Tôi hoàn toàn không có ý tưởng về lý do tại sao tôi không thể nhận mysql để phù hợp với một khoảng trắng.

EDIT:

Tôi đang sử dụng mysql 5.5.24

Trả lời

5

Sử dụng:

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

Nó không làm việc một trong hai. – hchinchilla

+0

@hchinchilla Bạn cũng cần phải thoát khỏi '\' bằng '\\', hãy thử lại. – xdazz

+0

Cảm ơn @xdazz, hiện tại nó đang hoạt động. – hchinchilla

Các vấn đề liên quan