IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Regex numero de telephone


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 226
    Points : 39
    Points
    39
    Par défaut Regex numero de telephone
    Bonjour,

    je suis entrain de developper un programme et j'ai un soucis,

    Je dois isolé les numero de tephone dans un fichier qui sont placer un peu n'importe ou dans un fichier et sous la forme 03 32 34 22 11 ou 0333234333

    J'ai essayer cette regex

    pattern = std::regex("0[0-9]([ ]?[0-9]{2}){4}");

    mais il ne trouve rien

    exemple de fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    azeazea 0678787646 azeaz
    0678787612
    azeaz 06 78 787612
    zaeaz 0671873221
    ze
    eqsvvg
    je souhaiterai trouver
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    0678787646
    0678787612
    06 78 787612
    0671873221
    Pouvez vous m'aider ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 471
    Points : 6 109
    Points
    6 109
    Par défaut
    Bonjour,

    Tu devrais montrer un bout de code et préciser le format de ton fichier.

    Chez moi, le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #include <iostream>
    #include <string>
    #include <regex>
     
    int main()
    {
    	const std::string chaine =
    		"azeazea 0678787646 azeaz\n"
    		"0678787612\n"
    		"azeaz 06 78 787612\n"
    		"zaeaz 0671873221\n"
    		"ze\n"
    		"eqsvvg";
    	const std::regex regexNumeroDeTelephone("0[0-9]([ ]?[0-9]{2}){4}");
    	const std::sregex_iterator itDebutDesResultats(chaine.begin(), chaine.end(), regexNumeroDeTelephone);
    	const std::sregex_iterator itFinDesResultats{};
    	const auto nbResultats = std::distance(itDebutDesResultats, itFinDesResultats);
    	std::cout << "Il y a " << nbResultats << " numeros de telephone :\n";
    	for(std::sregex_iterator i = itDebutDesResultats; i != itFinDesResultats; ++i) {
    		const std::smatch match = *i;
    		std::cout << match.str() << '\n';
    	}
    	return 0;
    }
    affiche bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Il y a 4 numeros de telephone :
    0678787646
    0678787612
    06 78 787612
    0671873221
    Quelques remarques :
    • Les numéros de téléphone français peuvent aussi être affichés sous la forme +33 suivi de 9 chiffres. S'il faut prendre en compte les formats étrangers, il y a aussi d'autres formats à prévoir.
    • Quand les chiffres sont regroupés, ce n'est pas toujours 2 par 2. J'ai déjà lu des numéros dont les 6 derniers chiffres étaient regroupés 3 par 3.
    • L'espace n'est pas le seul séparateur possible. Il y a aussi le point et le tiret. Si on ne se restreint pas aux caractères ASCII, il faut aussi prendre en compte l'espace insécable.

Discussions similaires

  1. format numero de telephone
    Par Invité dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/10/2008, 17h10
  2. Renseigner numero de telephone
    Par identifiant_bidon dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 24/06/2008, 11h23
  3. Expression régulière pour numero de telephone
    Par moutey dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 27/11/2007, 18h34
  4. Réponses: 8
    Dernier message: 11/12/2006, 19h03
  5. format du numero de telephone...?
    Par bris dans le forum Débuter
    Réponses: 2
    Dernier message: 20/09/2005, 11h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo