Ok, vì vậy tôi có regex này:Tôi có thể tối ưu hóa regex điện thoại này không?
(|^|>)(((((((\+|00)(31|32)()?(\(0\))?)|0)([0-9]{2})(-)?()?)?)([0-9]{7}))|((((((\+|00)(31|32)()?(\(0\))?)|0)([0-9]{3})(-)?()?)?)([0-9]{6}))|((((((\+|00)(31|32)()?(\(0\))?)|0)([0-9]{1})(-)?()?)?)([0-9]{8})))(|$|<)
Nó định dạng số điện thoại người Hà Lan và Bỉ (Tôi chỉ muốn những vì 31 và 32 là mã quốc gia).
Không có nhiều thú vị để giải mã nhưng bạn có thể thấy nó cũng bị trùng lặp nhiều. nhưng bây giờ nó không xử lý nó rất chính xác
Tất cả các số điện thoại được định dạng sau châu Âu được chấp nhận
00312
0031223234567
0031612345678
+31(0)20-1234567
+31(0)223-234567
+31(0)6-12345678
020-1234567
0223-234567
06-12345678
02
0223234567
0612345678
và những định dạng sai sau đây không
06-1234567 (mobile phone number in the Netherlands should have 8 numbers after 06)
0223-1234567 (area code with home phone)
như trái ngược với này đó là tốt .
020-1234567 (area code with 3 numbers has 7 numbers for the phone as opposed to a 4 number area code which can only have 6 numbers for phone number)
Như bạn thấy đó là '-' nhân vật mà làm cho nó một chút khó khăn nhưng tôi cần nó ở đó vì đó là một phần của định dạng thường được sử dụng bởi những người, và tôi muốn để có thể phân tích chúng tất cả các.
Bây giờ là câu hỏi của tôi ... bạn có thấy một cách để đơn giản hóa regex này (hoặc thậm chí cải thiện nó nếu bạn thấy một lỗi trong đó), trong khi vẫn giữ nguyên quy tắc?
Bạn có thể kiểm tra nó ở regextester.com
(The '(|^|>)' là để kiểm tra xem nó là lúc bắt đầu của một từ có khả năng nó được đi trước bởi hoặc là một dòng mới hoặc một ' > '. Tôi tìm kiếm các số điện thoại trong các trang HTML.)
Câu hỏi đầu tiên của tôi là: bạn có thực sự cần TẤT CẢ những ảnh chụp đó không? Bạn không thể chỉ lấy những phần quan trọng và định dạng lại. Các bộ phận thích hợp là gì? – Axeman
không có tôi tìm kiếm các phonenumbers trong một loạt các văn bản tôi không biết nơi số lượng và theo cách thông thường của nó định dạng. sau khi tôi tìm thấy nó tôi cơ bản không cần nó nữa – youri