Avatar billede ctnn Nybegynder
17. marts 2006 - 14:30 Der er 4 kommentarer og
1 løsning

Grådig capturing.

Hey Hey Eksperter.

Jeg forsøger at lave et regulært udtryk som, gerne skulle fange mig en enkelt streng, men ikke helt eksakt gør det som jeg gerne vil.

Det her er min streng som jeg søger igennem

.000. |aas  0c
.001. |as0001-4842
.001. |as0001-4842
.001. |a00000001627
.006. |as
.006. |aa          000 0
.006. |aa          000 0
.022. 00|a0001-4842
.245. 00|aACCOUNTS OF CHEMICAL RESEARCH
.260. 00|bAmerican Chemical Society
.555. 00|iIndexed in|tCurrent Contents
.590. 00|


Det jeg gerne vil havde hevet ud af den er 0001-4842

Jeg har så forsøgt mig med

/(\.022\.)(.*)(\.\d{3}\.)/

capture i $2(perl) giver mig ikke den første forekomst af .\d{3} men den sidste.

nogle der kan hjælpe mig?
Teksten er renset for lineends, og de tags (.022. .245.) kommer i vilkårlig rækkefølge, så jeg kan ikke vide hvad den næste tag er.
Avatar billede nielle Nybegynder
17. marts 2006 - 14:39 #1
Prøv evt. med:

/(\.022\.)(.*?)(\.\d{3}\.)/
Avatar billede Slettet bruger
18. marts 2006 - 07:12 #2
Forudsat at din kode altid har mønster xxxx-xxxx så skulle nedenstående fungerer hvis perl eller kan lave ungreedy match med +?

(\.022\.).+?(\d{4}-\d{4})
Avatar billede ctnn Nybegynder
20. marts 2006 - 06:38 #3
Nielle super der, den virkede lige efter bogen, jeg siger takker, post et svar og så får du lige den.

Kryptos, mit mønster er ikke altid xxxx-xxxx men kan både være længere, og indeholde bogstaver.
Avatar billede nielle Nybegynder
20. marts 2006 - 06:46 #4
Svar :^)
Avatar billede ctnn Nybegynder
20. marts 2006 - 06:48 #5
Du er oppe tidligt :)
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