Page 1 sur 1

[R] Lire entre des parenthèses

Posté : lun. 27 juin 2011 15:04
par TT22
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.

Re: [..] Lire entre des parenthèses

Posté : lun. 27 juin 2011 15:24
par jchd
Le principe de base est là :
► Afficher le texte
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.

Re: [..] Lire entre des parenthèses

Posté : lun. 27 juin 2011 15:40
par TT22
Je comprend pas très bien comment ça fonctionne :oops:

Re: [..] Lire entre des parenthèses

Posté : lun. 27 juin 2011 16:03
par jchd
Voir l'aide sur StringRegExp.

Ah oui, l'aide c'est la touche F1 :mrgreen:

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.

Re: [..] Lire entre des parenthèses

Posté : lun. 27 juin 2011 16:22
par TT22
Ok, merci beaucoup.

Re: [R] Lire entre des parenthèses

Posté : lun. 27 juin 2011 17:29
par TopXm
Bonjour,

Le _StringBetween n'irait pas dans ce cas ?

Re: [R] Lire entre des parenthèses

Posté : lun. 27 juin 2011 17:48
par jchd
Certes mais avec une boucle et un découpage à chaque itération... Tortueux.

Re: [R] Lire entre des parenthèses

Posté : lun. 27 juin 2011 19:12
par mikell
Google traduction a écrit :pattern = motif, modèle, forme
match = répondre à, être l'égal de, correspondre à
Lego = casse-tête suédois
:mrgreen:

Re: [R] Lire entre des parenthèses

Posté : lun. 27 juin 2011 19:15
par TT22
mikell a écrit :Lego = casse-tête suédois
Lego ça vient pas plutôt du Danemark ?

Re: [R] Lire entre des parenthèses

Posté : mar. 28 juin 2011 00:36
par mikell
Si ....
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')
c'est pas beautiful ça ? c'est pas amazing ? :mrgreen:

Re: [R] Lire entre des parenthèses

Posté : mar. 28 juin 2011 01:15
par jchd
Certes, mais as-tu regardé ce que faisait _StringBetween en réalité ?

Re: [R] Lire entre des parenthèses

Posté : mer. 29 juin 2011 09:39
par mikell
oui y a comme un air de famille :mrgreen:

Re: [R] Lire entre des parenthèses

Posté : mer. 29 juin 2011 11:12
par jchd
N'est-ce pas, mais avec trois regexps au lieu d'une.