Rechercher un / avec une regex [PERL] - Perl - Programmation
Marsh Posté le 25-07-2003 à 14:23:44
Code :
|
Note qui si tu as envie tu peux faire la balises de début et de fin en même temps:
Code :
|
A la fin le i c'est pourqu'il ne tienne pas compte de la casse, le s pour le cas ou le motif est sur plusieurs lignes.
Marsh Posté le 25-07-2003 à 16:23:22
et il faut rajouter un g pour qu'il ne s'arrete pas au premier match, mais fasse tous les tags
Marsh Posté le 13-07-2013 à 21:15:23
En Perl, Pour écrire une regex qui reconnait les slash, / , il suffit de choisir un autre séparateur. Presque tout caractère ASCII est autorisé, ainsi que les paires () {} <> ..
Damian Conway recommande [REGEX] : s[regex][remplacement] ou m[regex]
Dans ce cas le m initial est obligatoire
le ? est un séparateur spécial ( j'ai oublié ce qu'il fait.. )
Les options de regex étendus comme grep -e ou egrep évitent aussi le syndrome des \/antislash\/slash
Marsh Posté le 14-07-2013 à 10:38:46
Citation : Damian Conway recommande [REGEX] : s[regex][remplacement] ou m[regex] |
Je recommande plutôt l'emploi de m{...} (et c'est une pratique très courante, car elle rappelle l'usage de q{...} pour quoter), parce que l'usage de {....} à l'intérieur d'une regexp, avec sa sémantique propre, est moins fréquent que celui de [...].
Pour les substitutions, j'ai plutôt tendance à utiliser | s'il ne figure pas dans le corps de la regexp, ou ! sinon, bref s|...|...| ou s!...!...!, mais je n'érigerais pas cette pratique en recommandation, c'est une affaire de goût.
A+,
Marsh Posté le 25-07-2003 à 13:59:34
je cherche des balises html en perl, mais si je cherche < / B >, ben le / cause une erreur de syntaxe car c'est un caractère spécial :
$li =~s/</b>/balise/;
je n'ai rien trouvé sur le net...
comment rendre cette expression valide ??
merci d'avance !