Ok, donc j'ai ce regex:Puis-je optimiser ce phone-regex?
(|^|>)(((((((\+|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})))(|$|<)
Il formate les numéros de téléphone néerlandais et belges (je veux seulement ceux où le 31 et 32 comme le code du pays).
Ce n'est pas très amusant à déchiffrer, mais comme vous pouvez le voir, il a également beaucoup dupliqué. mais maintenant il ne les manipule de façon très précise
Tous les numéros de téléphone au format européennes suivantes sont acceptées
00312
0031223234567
0031612345678
+31(0)20-1234567
+31(0)223-234567
+31(0)6-12345678
020-1234567
0223-234567
06-12345678
02
0223234567
0612345678
et ceux formatés faux suivants ne sont pas
06-1234567 (mobile phone number in the Netherlands should have 8 numbers after 06)
0223-1234567 (area code with home phone)
par opposition à ce qui est bon .
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)
Comme vous pouvez le voir est le caractère « - » qui le rend un peu difficile mais je besoin là-dedans parce qu'il est une partie de la mise en forme habituellement utilisée par les gens, et je veux être en mesure de les analyser tout.
Maintenant, est ma question ... voyez-vous un moyen de simplifier cette regex (ou même l'améliorer si vous voyez une faute en elle), tout en gardant les mêmes règles?
Vous pouvez le tester à regextester.com
(Le « (|^|>) » est de vérifier si elle est au début d'un mot avec la possibilité qu'il soit précédé soit par une nouvelle ligne ou un ' > 'Je recherche les numéros de téléphone dans les pages HTML.)
Ma première question est: avez-vous vraiment besoin de TOUTES ces captures? Ne pouvez-vous pas simplement saisir les parties importantes et reformater. Quelles sont les parties pertinentes? – Axeman
non je recherche les phonenumbers dans un tas de textes je ne sais pas où le nombre est et de quelle manière conventionnelle son formaté. après que je l'ai trouvé je n'ai fondamentalement plus besoin de lui – youri