À (at) Thu, 18 Nov 2004 10:42:59 +0100, Jean-Philippe Caruana écrivait (wrote):
ce que je veux : enlever, au choix, en bout de chaine (les 2), tout espace(s) ou '"' ou '#' (# ou " tjs une seule fois) Ces spécifications ne sont pas très précises...
moi je les trouve précises :
Ce n'est pas à toi d'en juger... On se doute que tu es d'accord avec toi-même ;-)
je désire enlever aux bouts des chaines soit : - les espaces (mais pas ceux dans la chaine) - un seul " - un seul #
en général, je n'ai pas de combinaison d'espace et de "/# (ce sont des données bien formatées)
En fait les seules spécifications précises seraient la regexp elle-même ;-)
c'est pour ca que j'ai essayé $ebarb = qr/((")|(#)|(s+))/;
$ebarb = qr/(?:s*["#]s*|s+)/;
de mémoire, je ne sais plus à quoi correspond ?: en début de regex. c'est pour limiter l'avidité de la regex ?
(?:...) permet de créer un groupe comme (...) mais sans le mémoriser (on ne peut pas le réutiliser via 1 ou $1).
Deux exemples (les ! marquent les débuts et fins de lignes) : ! " essai # ! donnera !essai! ! " "a"## " # " ! donnera !"a"## " #!
ce n'est pas *exactement* cela, mais ca répond très bien à mon probleme ;-), merci. (je n'aurais pas de cas comme le cas 1 par exemple)
exemples de mes cas possibles (les ! marquent les débuts et fins de lignes) :
-- Paul Gaborit - <http://www.enstimac.fr/~gaborit/> Perl en français - <http://www.enstimac.fr/Perl/>
À (at) Thu, 18 Nov 2004 10:42:59 +0100,
Jean-Philippe Caruana <cf.site.web@pour.envoi> écrivait (wrote):
ce que je veux : enlever, au choix, en bout de chaine (les 2), tout
espace(s) ou '"' ou '#' (# ou " tjs une seule fois)
Ces spécifications ne sont pas très précises...
moi je les trouve précises :
Ce n'est pas à toi d'en juger... On se doute que tu es d'accord avec toi-même
;-)
je désire enlever aux bouts des chaines soit :
- les espaces (mais pas ceux dans la chaine)
- un seul "
- un seul #
en général, je n'ai pas de combinaison d'espace et de "/# (ce sont des
données bien formatées)
En fait les seules spécifications précises seraient la regexp elle-même ;-)
c'est pour ca que j'ai essayé
$ebarb = qr/((")|(#)|(s+))/;
$ebarb = qr/(?:s*["#]s*|s+)/;
de mémoire, je ne sais plus à quoi correspond ?: en début de regex.
c'est pour limiter l'avidité de la regex ?
(?:...) permet de créer un groupe comme (...) mais sans le mémoriser (on ne
peut pas le réutiliser via 1 ou $1).
Deux exemples (les ! marquent les débuts et fins de lignes) :
! " essai # ! donnera !essai!
! " "a"## " # " ! donnera !"a"## " #!
ce n'est pas *exactement* cela, mais ca répond très bien à mon probleme ;-),
merci.
(je n'aurais pas de cas comme le cas 1 par exemple)
exemples de mes cas possibles (les ! marquent les débuts et fins de lignes) :
À (at) Thu, 18 Nov 2004 10:42:59 +0100, Jean-Philippe Caruana écrivait (wrote):
ce que je veux : enlever, au choix, en bout de chaine (les 2), tout espace(s) ou '"' ou '#' (# ou " tjs une seule fois) Ces spécifications ne sont pas très précises...
moi je les trouve précises :
Ce n'est pas à toi d'en juger... On se doute que tu es d'accord avec toi-même ;-)
je désire enlever aux bouts des chaines soit : - les espaces (mais pas ceux dans la chaine) - un seul " - un seul #
en général, je n'ai pas de combinaison d'espace et de "/# (ce sont des données bien formatées)
En fait les seules spécifications précises seraient la regexp elle-même ;-)
c'est pour ca que j'ai essayé $ebarb = qr/((")|(#)|(s+))/;
$ebarb = qr/(?:s*["#]s*|s+)/;
de mémoire, je ne sais plus à quoi correspond ?: en début de regex. c'est pour limiter l'avidité de la regex ?
(?:...) permet de créer un groupe comme (...) mais sans le mémoriser (on ne peut pas le réutiliser via 1 ou $1).
Deux exemples (les ! marquent les débuts et fins de lignes) : ! " essai # ! donnera !essai! ! " "a"## " # " ! donnera !"a"## " #!
ce n'est pas *exactement* cela, mais ca répond très bien à mon probleme ;-), merci. (je n'aurais pas de cas comme le cas 1 par exemple)
exemples de mes cas possibles (les ! marquent les débuts et fins de lignes) :