|
| At matche en skråstreg Fra : David Trasbo |
Dato : 26-12-07 16:28 |
|
Jeg har et lille problem med et regulært udtryk, som jeg håber, nogle kan
hjælpe mig med. Det drejer sig om, at jeg gerne have udtrykket til at
matche, både hvis inputtet _har_ en skråstreg til sidst, og hvis det _ikke_
har.
Hvis jeg bruger udtrykket:
/\/(.+)\/(.*)[\/?]/
.... matcher inputtet kun, hvis der _er_ en skråstreg tilsidst.
Og hvis jeg skriver:
/\/(.+)\/(.*)(\/?)/
(Altså med parenteser istedet for firkantede parenteser.)
.... matcher det kun, hvis der _ikke_ er en skråstreg tilsidst i inputtet.
Men hvis jeg undlader at escape skråstregen, går det selvfølgelig helt galt.
Jeg håber, at nogle gider at give en hjælpende hånd.
--
David Trasbo.
http://lki.dk - Luk Kunderne Ind.
| |
Andreas Andersen (28-12-2007)
| Kommentar Fra : Andreas Andersen |
Dato : 28-12-07 21:44 |
|
"David Trasbo" <davidtrasbo@gmail.com> wrote in message
news:4772730d$0$90274$14726298@news.sunsite.dk...
> Jeg har et lille problem med et regulært udtryk, som jeg håber, nogle kan
> hjælpe mig med. Det drejer sig om, at jeg gerne have udtrykket til at
> matche, både hvis inputtet _har_ en skråstreg til sidst, og hvis det
> _ikke_ har.
>
> Hvis jeg bruger udtrykket:
>
> /\/(.+)\/(.*)[\/?]/
>
> ... matcher inputtet kun, hvis der _er_ en skråstreg tilsidst.
>
> Og hvis jeg skriver:
>
> /\/(.+)\/(.*)(\/?)/
> (Altså med parenteser istedet for firkantede parenteser.)
>
> ... matcher det kun, hvis der _ikke_ er en skråstreg tilsidst i inputtet.
Jeg er ikke 100% sikker på hvad du vil, men her er et forslag:
/\/([^\/]+)\/([^\/]*)\/?/
Skulle gerne matche /blabla/blabla og valgfri skråstreg til sidst.
--
Andreas
| |
David Trasbo (29-12-2007)
| Kommentar Fra : David Trasbo |
Dato : 29-12-07 13:34 |
|
Andreas Andersen skrev:
<klip>
>> ... matcher det kun, hvis der _ikke_ er en skråstreg tilsidst i inputtet.
>
> Jeg er ikke 100% sikker på hvad du vil, men her er et forslag:
>
> /\/([^\/]+)\/([^\/]*)\/?/
>
> Skulle gerne matche /blabla/blabla og valgfri skråstreg til sidst.
Jeg er heller ikke helt sikker på, hvordan den der virker. Men tak for
forslaget alligevel.
--
David Trasbo.
http://lki.dk - Luk Kunderne Ind.
| |
Christian Hansen (29-12-2007)
| Kommentar Fra : Christian Hansen |
Dato : 29-12-07 14:17 |
|
Hej
Hvad vil du præcis gerne matche? Som jeg læser nedenstående, vil du
matche noget ala
/test/tada
/test/tada/
/test//
Men også "/tada/test/ asds lslæskd flsækdj fæsldk f/tada/mere" vil blive
fanget.
Du har sat dit ? i en tegnklasse [], hvorfor det ikke læses som {0,1}
men blot som et spørgsmålstegn - dit match skal altså indeholde enten en
/ eller et ? til sidst. Du skulle altså hellere skrive [\/]? eller bare \/?
Mvh Christian
David Trasbo wrote:
> Jeg har et lille problem med et regulært udtryk, som jeg håber, nogle kan
> hjælpe mig med. Det drejer sig om, at jeg gerne have udtrykket til at
> matche, både hvis inputtet _har_ en skråstreg til sidst, og hvis det _ikke_
> har.
>
> Hvis jeg bruger udtrykket:
>
> /\/(.+)\/(.*)[\/?]/
>
> ... matcher inputtet kun, hvis der _er_ en skråstreg tilsidst.
>
> Og hvis jeg skriver:
>
> /\/(.+)\/(.*)(\/?)/
> (Altså med parenteser istedet for firkantede parenteser.)
>
> ... matcher det kun, hvis der _ikke_ er en skråstreg tilsidst i inputtet.
> Men hvis jeg undlader at escape skråstregen, går det selvfølgelig helt galt.
>
> Jeg håber, at nogle gider at give en hjælpende hånd.
>
| |
|
|