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
Olivier Miakinen
Bonjour,
Le 27/06/2011 15:12, kurtz_le_pirate a écrit :
je suis en train de faire quelques regexpr sur des numéros de téléphone.
par exemple, trouver les numéros entre **66 et **75 qui donne : 6[6-9]|7[0-5]
même chose pour des numéros entre *196 et *200 ce qui donne : 19[6-9]|200 ...
et la ça ne fonctionne pas. je ne comprends pas pourquoi car en plus, si je fais 200|19[6-9] c'est ok !
C'est en effet incompréhensible. Mais déjà, ce serait bien que tu explicites un peu le « ça ne fonctionne pas ». Tu as des chaînes qui contiennent un nombre entre 196 et 200 et qui ne sont pas reconnues ? Ou bien des chaînes qui sont reconnues alors qu'elles ne devraient pas l'être ? Donne un code précis, des exemples précis, et les résultats obtenus !
J'ai essayé sur http://www.perlfect.com/articles/regextutor.shtml et tout semble fonctionner comme il faut.
elle est ou l'explication la ?
Je parie pour un bug dans ton programme perl qui n'aurait rien à voir avec les regexps en elles-mêmes. Si jamais ce n'était pas le cas et qu'il s'agisse d'un vrai bug des regexps, je te signale l'existence du groupe fr.comp.lang.regexp -- mais pour le moment j'en doute.
Cordialement, -- Olivier Miakinen
Bonjour,
Le 27/06/2011 15:12, kurtz_le_pirate a écrit :
je suis en train de faire quelques regexpr sur des numéros de téléphone.
par exemple, trouver les numéros entre **66 et **75 qui donne :
6[6-9]|7[0-5]
même chose pour des numéros entre *196 et *200 ce qui donne : 19[6-9]|200
...
et la ça ne fonctionne pas. je ne comprends pas pourquoi car en plus,
si je fais 200|19[6-9] c'est ok !
C'est en effet incompréhensible. Mais déjà, ce serait bien que tu
explicites un peu le « ça ne fonctionne pas ». Tu as des chaînes
qui contiennent un nombre entre 196 et 200 et qui ne sont pas
reconnues ? Ou bien des chaînes qui sont reconnues alors qu'elles
ne devraient pas l'être ? Donne un code précis, des exemples
précis, et les résultats obtenus !
J'ai essayé sur http://www.perlfect.com/articles/regextutor.shtml et
tout semble fonctionner comme il faut.
elle est ou l'explication la ?
Je parie pour un bug dans ton programme perl qui n'aurait rien à voir
avec les regexps en elles-mêmes. Si jamais ce n'était pas le cas et
qu'il s'agisse d'un vrai bug des regexps, je te signale l'existence
du groupe fr.comp.lang.regexp -- mais pour le moment j'en doute.
je suis en train de faire quelques regexpr sur des numéros de téléphone.
par exemple, trouver les numéros entre **66 et **75 qui donne : 6[6-9]|7[0-5]
même chose pour des numéros entre *196 et *200 ce qui donne : 19[6-9]|200 ...
et la ça ne fonctionne pas. je ne comprends pas pourquoi car en plus, si je fais 200|19[6-9] c'est ok !
C'est en effet incompréhensible. Mais déjà, ce serait bien que tu explicites un peu le « ça ne fonctionne pas ». Tu as des chaînes qui contiennent un nombre entre 196 et 200 et qui ne sont pas reconnues ? Ou bien des chaînes qui sont reconnues alors qu'elles ne devraient pas l'être ? Donne un code précis, des exemples précis, et les résultats obtenus !
J'ai essayé sur http://www.perlfect.com/articles/regextutor.shtml et tout semble fonctionner comme il faut.
elle est ou l'explication la ?
Je parie pour un bug dans ton programme perl qui n'aurait rien à voir avec les regexps en elles-mêmes. Si jamais ce n'était pas le cas et qu'il s'agisse d'un vrai bug des regexps, je te signale l'existence du groupe fr.comp.lang.regexp -- mais pour le moment j'en doute.
Cordialement, -- Olivier Miakinen
Olivier Miakinen
Le 27/06/2011 16:45, je répondais à kurtz_le_pirate :
[...] ce serait bien que tu explicites un peu le « ça ne fonctionne pas ». [...]
Toujours pas, une semaine après ?
Le 27/06/2011 16:45, je répondais à kurtz_le_pirate :
[...] ce serait bien que tu
explicites un peu le « ça ne fonctionne pas ». [...]
sub open_cmd { my $file = $mw->getOpenFile(-filetypes => [['Text' => '.txt'], ['All' => '.*']]); return if not defined $file or not -r $file; local $/ = undef; open my $fh, "<", $file or $err = "Can't read file '$file': $!", return; my $content = <$fh>; close $fh; $text->delete('0.0', 'end'); $text->insert('0.0', $content); try_match($reg); }
-- Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando
Le Tue, 05 Jul 2011 16:19:34 +0200, kurtz_le_pirate a écrit:
j'avais utiliser le "RegexDesigner" de RadSoftware et c'est lui qui a un
problème.
Tiens, un chouette outil d'aide aux regex en perl, lui ( avec Tk):
#!/usr/bin/perl
use strict;
use warnings;
use Tk;
my $mw = MainWindow->new;
my $menubar = $mw->Menu(-type => 'menubar');
$mw->configure(-menu => $menubar);
{
my $f = $menubar->cascade(-label => '~File', -tearoff => 0);
$f->command(-label => "Open...", -command => &open_cmd);
$f->separator();
$f->command(-label => "~Quit", -command => sub {$mw->destroy()});
}
$mw->Entry(qw/-validate key -width 50 -bg white -fg black/,
-validatecommand => &try_match,
-textvariable => my $reg)
->pack(qw/-fill x/);
$mw->Label(-textvariable => my $err, qw/-fg red -justify left/)
->pack(qw/-fill x/);
my $text $mw->Scrolled('Text', qw/-scrollbars se -bg white -fg black -wrap none/)
->pack(qw/-fill both -expand 1/);
$text->tagConfigure('0', qw/-background green/);
$text->tagConfigure('1', qw/-background cyan/);
MainLoop;
sub open_cmd {
my $file = $mw->getOpenFile(-filetypes => [['Text' => '.txt'],
['All' => '.*']]);
return if not defined $file or not -r $file;
local $/ = undef;
open my $fh, "<", $file
or $err = "Can't read file '$file': $!", return;
my $content = <$fh>;
close $fh;
$text->delete('0.0', 'end');
$text->insert('0.0', $content);
try_match($reg);
}
--
Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando
sub open_cmd { my $file = $mw->getOpenFile(-filetypes => [['Text' => '.txt'], ['All' => '.*']]); return if not defined $file or not -r $file; local $/ = undef; open my $fh, "<", $file or $err = "Can't read file '$file': $!", return; my $content = <$fh>; close $fh; $text->delete('0.0', 'end'); $text->insert('0.0', $content); try_match($reg); }
-- Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando