/
Forside
/
Teknologi
/
Udvikling
/
Perl
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
Perl
#
Navn
Point
1
bjarneA
141
2
poul_from
50
3
soccer
30
4
Nicknack
14
5
Tmpj
0
Resultat af regular expression
Fra :
Martin Schmidt
Dato :
17-05-05 18:17
Hej,
Jeg ville jo tro at outputtet af følgende kode ville være:
$1 = 123
$2 = 456
--------------
use strict;
use warnings;
my $test="123abc456";
if ($test =~ m/\d*aBc\d*/mi)
{
print "\$1 = $1\n";
print "\$2 = $2\n";
}
1;
--------------
I stedet får jeg:
perl -w test.pl
Use of uninitialized value in concatenation (.) or string at test.pl line 7.
$1 =
Use of uninitialized value in concatenation (.) or string at test.pl line 8.
$2 =
Hvad er det jeg ikke forstår?
Jeg benytter:
perl, v5.8.6 built for MSWin32-x86-multi-thread
M.v.h.
Martin.
Peter Brodersen (
17-05-2005
)
Kommentar
Fra :
Peter Brodersen
Dato :
17-05-05 18:58
On Tue, 17 May 2005 19:17:01 +0200, "Martin Schmidt"
<martinjs-ingen-spam@bigfoot.com> wrote:
>if ($test =~ m/\d*aBc\d*/mi)
Du har ingen capturing parenteser her. Prøv med:
if ($test =~ m/(\d*)aBc(\d*)/mi)
--
- Peter Brodersen
Martin Schmidt (
17-05-2005
)
Kommentar
Fra :
Martin Schmidt
Dato :
17-05-05 19:37
"Peter Brodersen" <usenet2005@ter.dk> wrote in message
news:d6dbbp$42k$2@news.klen.dk...
> Du har ingen capturing parenteser her. Prøv med:
Dohh... ja selvfølgelig.
Tak.
M.v.h.
Martin.
Jesper Nøhr (
18-05-2005
)
Kommentar
Fra :
Jesper Nøhr
Dato :
18-05-05 13:36
Martin Schmidt wrote:
> Hej,
>
> Jeg ville jo tro at outputtet af følgende kode ville være:
>
> $1 = 123
> $2 = 456
>
> --------------
> use strict;
> use warnings;
>
> my $test="123abc456";
> if ($test =~ m/\d*aBc\d*/mi)
> {
> print "\$1 = $1\n";
> print "\$2 = $2\n";
> }
>
> 1;
> --------------
>
> I stedet får jeg:
>
> perl -w test.pl
> Use of uninitialized value in concatenation (.) or string at test.pl line 7.
> $1 =
> Use of uninitialized value in concatenation (.) or string at test.pl line 8.
> $2 =
>
> Hvad er det jeg ikke forstår?
For at extracte resultater fra regex'es skal du indramme dem med
paranteser. E.g.
$_="123abc456";
if (m/(\d+)aBc(\d+)/mi) {
print "\$1 = $1\n";
print "\$2 = $2\n";
}
...burde give dig det resultat du leder efter.
> Jeg benytter:
> perl, v5.8.6 built for MSWin32-x86-multi-thread
>
> M.v.h.
> Martin.
>
>
Søg
Alle emner
Teknologi
Udvikling
Perl
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177558
Tips :
31968
Nyheder :
719565
Indlæg :
6408914
Brugere :
218888
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.