Je n'arrive pas a trouver la regexp qui me permettra de dire si une chaine
n'est pas dans une autre. Je m'explique avec un exemple :
"Ma chaine"
je veux une expression reguliere qui fasse l'equivalent de !~/chaine/
en fait je veux que cette regexp match avec toutes les chaines ne contenant
pas le mot "chaine".
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul GABORIT
À (at) Wed, 24 Sep 2003 18:08:45 +0200, Nicolas Lavacry écrivait (wrote):
Je n'arrive pas a trouver la regexp qui me permettra de dire si une chaine n'est pas dans une autre. Je m'explique avec un exemple : "Ma chaine" je veux une expression reguliere qui fasse l'equivalent de !~/chaine/ en fait je veux que cette regexp match avec toutes les chaines ne contenant pas le mot "chaine".
On peut le faire via une expression régulière de longueur nulle ancrée au début de la chaîne :
my $s = "chaine"; my $no_s = qr/A(?!(?ms:.*)Q$sE)/;
foreach my $l ("Ma chaine", "Sans e : chain.") { print "$ln" if $l =~ m/$no_s/; }
-- Paul Gaborit - <http://www.enstimac.fr/~gaborit/> Perl en français - <http://www.enstimac.fr/Perl/> Remove '.OOO' from e-mail address - Supprimez '.OOO' de l'adresse e-mail
À (at) Wed, 24 Sep 2003 18:08:45 +0200,
Nicolas Lavacry <nlavacry@alcion.fr> écrivait (wrote):
Je n'arrive pas a trouver la regexp qui me permettra de dire si une chaine
n'est pas dans une autre. Je m'explique avec un exemple :
"Ma chaine"
je veux une expression reguliere qui fasse l'equivalent de !~/chaine/
en fait je veux que cette regexp match avec toutes les chaines ne contenant
pas le mot "chaine".
On peut le faire via une expression régulière de longueur nulle ancrée au
début de la chaîne :
my $s = "chaine";
my $no_s = qr/A(?!(?ms:.*)Q$sE)/;
foreach my $l ("Ma chaine", "Sans e : chain.") {
print "$ln" if $l =~ m/$no_s/;
}
--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>
Remove '.OOO' from e-mail address - Supprimez '.OOO' de l'adresse e-mail
À (at) Wed, 24 Sep 2003 18:08:45 +0200, Nicolas Lavacry écrivait (wrote):
Je n'arrive pas a trouver la regexp qui me permettra de dire si une chaine n'est pas dans une autre. Je m'explique avec un exemple : "Ma chaine" je veux une expression reguliere qui fasse l'equivalent de !~/chaine/ en fait je veux que cette regexp match avec toutes les chaines ne contenant pas le mot "chaine".
On peut le faire via une expression régulière de longueur nulle ancrée au début de la chaîne :
my $s = "chaine"; my $no_s = qr/A(?!(?ms:.*)Q$sE)/;
foreach my $l ("Ma chaine", "Sans e : chain.") { print "$ln" if $l =~ m/$no_s/; }
-- Paul Gaborit - <http://www.enstimac.fr/~gaborit/> Perl en français - <http://www.enstimac.fr/Perl/> Remove '.OOO' from e-mail address - Supprimez '.OOO' de l'adresse e-mail