expressions rationnelles

Le
Thomas
bonjour :-)


y a t il un forum dedié aux scripts shell et aux expressions
rationnelles ?



qqn m'a donné l'expression rationnelle
(?s:wanadoo.*country:s+FR)
avec http://fr.wikipedia.org/wiki/Expression_rationnelle pour comprendre


qq questions :

le "?" au depart, qq ca veut dire ? je ne pense pas que ca s'applique au
caractere "("

le "s:" qui suit, j'aurais tendance à penser que c'est du littéral,
puisque j'ai pas trouvé de signification,
mais le resultat ne concorde pas

j'ai trouvé "|" pour faire un ou (union),
mais j'aurais besoin d'un et (intersection) pour pouvoir faire "contient
wanadoo et country:s+FR" mais que "wanadoo" puisse se trouver apres
"country:s+FR"
est ce que ca existe ?
ou je suis obligé de faire
"(?s:wanadoo.*country:s+FR)|(?s:country:s+FR.*wanadoo)" ?

--
j'agis contre l'assistanat, je travaille dans une SCOP !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Stephane Chazelas
Le #759940
2007-08-13, 13:21(+02), Thomas:
bonjour :-)


y a t il un forum dedié aux scripts shell et aux expressions
rationnelles ?


Il y a presque autant te syntaxes d'expressions rationnelles
qu'il y a d'outils qui les utilisent. unix est un bon newsgroup
pour ca comme beaucoup d'outils Unix utilisent les expressions
rationnelles.

En l'occurrence, ta regexp est une regexp perl, donc tu aurais
pu demander sur fr.comp.lang.perl. Mais maintenant, tu trouves
une syntaxe similaire dans TCL, et il y a pas mal d'outils qui
utilisent les PCRE (bibliotheque d'expression rationnelle basee
sur les regexps de perl).

qqn m'a donné l'expression rationnelle
(?s:wanadoo.*country:s+FR)
avec http://fr.wikipedia.org/wiki/Expression_rationnelle pour comprendre


qq questions :

le "?" au depart, qq ca veut dire ? je ne pense pas que ca s'applique au
caractere "("
[...]


C'est le (? qui est special et permet d'introduire une serie
d'operateurs differents. (?s:<xxx>) active l'attribut "s" pour la
sous-regexp matche les separateurs de lignes.

--
Stéphane

Benoit Izac
Le #759939
Bonjour,

le 13/08/2007 à 13:21, Thomas a écrit dans le message

y a t il un forum dedié aux scripts shell et aux expressions
rationnelles ?


C'est le bon endroit.

qqn m'a donné l'expression rationnelle
(?s:wanadoo.*country:s+FR)
avec http://fr.wikipedia.org/wiki/Expression_rationnelle pour
comprendre


C'est une expression rationnelle Perl et non pas POSIX. La documentation
s'obtient avec « perldoc perlre » ou en français et en ligne ici

qq questions :

le "?" au depart, qq ca veut dire ? je ne pense pas que ca s'applique
au caractere "("


Ça veut dire que l'on ne capture pas (la variable $1 n'est pas modifiée
par ce qui est entre les parenthèses)

le "s:" qui suit, j'aurais tendance à penser que c'est du littéral,
puisque j'ai pas trouvé de signification, mais le resultat ne concorde
pas


Ça fait parti de l'ensemble « ?s: ». Le modificateur « s » permet de
faire reconnaître les retours à la ligne comme des espaces ; ainsi
« wanadoo.*country » peut contenir n'importe quel caractère y compris
un ou plusieurs retours à la ligne.

j'ai trouvé "|" pour faire un ou (union), mais j'aurais besoin d'un et
(intersection) pour pouvoir faire "contient wanadoo et country:s+FR"
mais que "wanadoo" puisse se trouver apres "country:s+FR"
est ce que ca existe ?
ou je suis obligé de faire
"(?s:wanadoo.*country:s+FR)|(?s:country:s+FR.*wanadoo)" ?


Il doit exister d'autre solutions mais c'est à mon avis le plus simple
et le plus lisible.

--
Benoit Izac

Thomas
Le #764311
In article Benoit Izac
Bonjour,

le 13/08/2007 à 13:21, Thomas a écrit dans le message

y a t il un forum dedié aux scripts shell et aux expressions
rationnelles ?


C'est le bon endroit.

qqn m'a donné l'expression rationnelle
(?s:wanadoo.*country:s+FR)
avec http://fr.wikipedia.org/wiki/Expression_rationnelle pour
comprendre


C'est une expression rationnelle Perl et non pas POSIX. La documentation
s'obtient avec « perldoc perlre » ou en français et en ligne ici


merci bcp :-)
à vous 2 :-)

--
j'agis contre l'assistanat, je travaille dans une SCOP !


Publicité
Poster une réponse
Anonyme