Avatar billede dank Nybegynder
30. juli 2005 - 20:35 Der er 5 kommentarer og
1 løsning

lille regexp problem

jeg har

my  $test = "<abc>,<def>,<ghi>";

Jeg ønsker de ting som er i <> ind i en array. Jeg har prøvet med:

my @result = $test =~ m/(<(.*)>).+/g;

og andre lignende varianter, som ikke rigtigt virker. Nogen som kan hjælpe?
Avatar billede erikjacobsen Ekspert
30. juli 2005 - 20:54 #1
Skitse

my  $test = "<abc>,<def>,<ghi>";
while ($test =~ m/<(.*?)>/g) {
  push(@result,$1);
}
print join("-",@result)."\n";
Avatar billede nielle Nybegynder
30. juli 2005 - 21:02 #2
Sådan her:

$test = "<abc>,<def>,<ghi>";
@result = $test =~ /<(.+?)>/g;
Avatar billede dank Nybegynder
30. juli 2005 - 21:19 #3
Takker til jer begge.. nielle, vil du have point, så opret svar ;)
Avatar billede nielle Nybegynder
30. juli 2005 - 21:22 #4
Svar :^)
Avatar billede erikjacobsen Ekspert
30. juli 2005 - 22:05 #5
Og vi reparede især en ting omkring grådighed, det lille ?-tegn.
Du ved det sikkert, når du ser det, men for andre læsere, så læs om
"greediness" her: http://www.regular-expressions.info/repeat.html
Avatar billede nielle Nybegynder
31. juli 2005 - 09:49 #6
Grådigheden var en vigtig ting, men jeg fjernede nu også det afsluttende ".+" som ville have betydet at du faktisk ikke fik det sidste element med.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester