[R] Lire entre des parenthèses
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- TT22
- Membre émérite

- Messages : 1566
- Enregistré le : lun. 18 avr. 2011 15:21
- Localisation : La Quatrième Dimension
- Status : Hors ligne
[R] Lire entre des parenthèses
Bonjour,
Je voudrais que quelqu'un m'aide à créer un script qui permettrait de lire un fichier texte et de garder seulement ce qu' il y a écrit entre parenthèses.
Merci d'avance.
Je voudrais que quelqu'un m'aide à créer un script qui permettrait de lire un fichier texte et de garder seulement ce qu' il y a écrit entre parenthèses.
Merci d'avance.
Modifié en dernier par TT22 le lun. 27 juin 2011 16:22, modifié 1 fois.
Cordialement,
TT22
TT22
- jchd
- AutoIt MVPs (MVP)

- Messages : 2284
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] Lire entre des parenthèses
Le principe de base est là :
Par contre, s'il te faut gérer des parenthèses sur plusieurs niveaux (comment ?), il faut avoir recours à une technique moins élémentaire, mais toujours possible en PCRE.
► Afficher le texte
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
- TT22
- Membre émérite

- Messages : 1566
- Enregistré le : lun. 18 avr. 2011 15:21
- Localisation : La Quatrième Dimension
- Status : Hors ligne
Re: [..] Lire entre des parenthèses
Je comprend pas très bien comment ça fonctionne 
Cordialement,
TT22
TT22
- jchd
- AutoIt MVPs (MVP)

- Messages : 2284
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] Lire entre des parenthèses
Voir l'aide sur StringRegExp.
Ah oui, l'aide c'est la touche F1
Edit : bon alors on se fait ça vite, hein.
Disons que le pattern c'est "(?mx) \( ( [^ \) ] * ) \)"
J'ai rajouté ici l'option x pour pouvoir introduire des espaces non significatifs dans le pattern, pour la lisibilité.
Décomposons ce Lego™®.
(?mx) sont des options : m pour "multiline" pour traiter plusieurs lignes d'un coup et x déjà vu
\( matche un caractère (
( début du groupe de capture
[^ \) ] matche "tout caractère qui n'est pas )"
* répété zéro ou plus
) fin du groupe de capture
\) matche la parenthèse fermante
L'option 3 de StringRegExp ré-applique ce pattern (et sa capture) autant de fois que possible dans la chaîne sujet.
Le tableau résultant contient donc toutes les chaînes de caractères qui figurent entre parenthèses dans la chaîne sujet.
On concatène ce tableau et on obtient ce que tu voulais initialement.
Ah oui, l'aide c'est la touche F1
Edit : bon alors on se fait ça vite, hein.
Disons que le pattern c'est "(?mx) \( ( [^ \) ] * ) \)"
J'ai rajouté ici l'option x pour pouvoir introduire des espaces non significatifs dans le pattern, pour la lisibilité.
Décomposons ce Lego™®.
(?mx) sont des options : m pour "multiline" pour traiter plusieurs lignes d'un coup et x déjà vu
\( matche un caractère (
( début du groupe de capture
[^ \) ] matche "tout caractère qui n'est pas )"
* répété zéro ou plus
) fin du groupe de capture
\) matche la parenthèse fermante
L'option 3 de StringRegExp ré-applique ce pattern (et sa capture) autant de fois que possible dans la chaîne sujet.
Le tableau résultant contient donc toutes les chaînes de caractères qui figurent entre parenthèses dans la chaîne sujet.
On concatène ce tableau et on obtient ce que tu voulais initialement.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
- TopXm
- Niveau 6

- Messages : 260
- Enregistré le : mer. 25 mai 2011 16:37
- Localisation : Usa
- Status : Hors ligne
Re: [R] Lire entre des parenthèses
Bonjour,
Le _StringBetween n'irait pas dans ce cas ?
Le _StringBetween n'irait pas dans ce cas ?
- jchd
- AutoIt MVPs (MVP)

- Messages : 2284
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [R] Lire entre des parenthèses
Certes mais avec une boucle et un découpage à chaque itération... Tortueux.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [R] Lire entre des parenthèses
Google traduction a écrit :pattern = motif, modèle, forme
match = répondre à, être l'égal de, correspondre à
Lego = casse-tête suédois
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- TT22
- Membre émérite

- Messages : 1566
- Enregistré le : lun. 18 avr. 2011 15:21
- Localisation : La Quatrième Dimension
- Status : Hors ligne
Re: [R] Lire entre des parenthèses
Lego ça vient pas plutôt du Danemark ?mikell a écrit :Lego = casse-tête suédois
Cordialement,
TT22
TT22
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [R] Lire entre des parenthèses
Si ....
tiens regarde ça qui vient tout droit du fichier d'aide :c'est pas beautiful ça ? c'est pas amazing ? 
tiens regarde ça qui vient tout droit du fichier d'aide :
Code : Tout sélectionner
#include <String.au3>
#include <Array.au3>
$string = "[18][20][3][5][500][60]"
$aArray1 = _StringBetween($string, "[", "]")
_ArrayDisplay($aArray1, 'Default Search')" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- jchd
- AutoIt MVPs (MVP)

- Messages : 2284
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [R] Lire entre des parenthèses
Certes, mais as-tu regardé ce que faisait _StringBetween en réalité ?
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [R] Lire entre des parenthèses
oui y a comme un air de famille 
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- jchd
- AutoIt MVPs (MVP)

- Messages : 2284
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [R] Lire entre des parenthèses
N'est-ce pas, mais avec trois regexps au lieu d'une.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
