Bonjour,
J'ai besoin de vous pour construire un regex.
J'analyse ligne par ligne, un fichier texte.
La structure est la suivante : la chaine commence par l'une des séquence suivante
xxxx est un mot obligatoire de taille variable dont la valeur peut être soit "aaaa" ou "bb" ou "ddddddd"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 " ' #xxxx yyyy ' " ou " // #xxxx yyyy " ou " /* #xxxx yyyy */ "
yyyy est un mot optionnel de taille variable
pour les espaces, il peut y en avoir entre 0 et plusieurs (sauf pour séparer xxxx et yyyy, il faut obligatoirement au moins un espace)
Je veux pouvoir récupérer facilement les valeurs de xxxx et yyyy. Si pas de yyyy alors la valeur récupérée doit être ""
Voici mon regex actuel mais il ne fonctionne pas totalement (pour la gestion de "//" qui n'a pas de balise fermante) :
Comment puis-je construire mon regex ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part regex_str = "^\s*((')|(/*)|(//))\s*#((aaaa)|(bb)|(ddddddd))(\s+(\w+))*\s*((')|(*/)).*"
Aussi comment faire pour dans ma commande pour que xxxx et yyyy se retrouve à l'index 0 et 1 dans results ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set results = re1.Execute(linesArray(lineIndex))
Partager