Avatar billede lakana Nybegynder
16. maj 2006 - 18:27 Der er 8 kommentarer og
1 løsning

Tjekke om en fil ligner det givne mønsteret

Hvordan kan jeg med regexp lettest tjekke om en streng ligner et af disse eksempler ({?} = noget tilfældigt):

.ht{?}
{?}.php3
{?}.php4

Håber det er forståligt :D
Avatar billede jensgram Nybegynder
16. maj 2006 - 22:31 #1
/(\.ht.*|.*\.php[34])/
Avatar billede jensgram Nybegynder
16. maj 2006 - 22:33 #2
... vil matche ".ht{?}", "{?}.php3" og "{?}.php4" (for nu at beholde din syntaks), og er case-sensitiv.

/(\.ht.*|.*\.php[34])/i er case-insensitiv
Avatar billede jensgram Nybegynder
16. maj 2006 - 22:34 #3
Vil du teste, om en streng matcher fra start til slut - altså ER ".ht{?}" osv:

/^(\.ht.*|.*\.php[34])$/
Avatar billede lakana Nybegynder
17. maj 2006 - 06:47 #4
En fil kan se således ud:

test.php3
test.php4
.htaccess

Så alt hvor FILEN starter med ".ht" eller slutter med enten .php3/.php4 skal matche

Er det ikke muligt at angive "\." en enkelt gang?!
Avatar billede lakana Nybegynder
17. maj 2006 - 06:48 #5
Jeg lavede denne: (^\.ht)|(\.php(3|4)$)

Hvilken er bedst?
Avatar billede jensgram Nybegynder
17. maj 2006 - 13:47 #6
Det er også en mulighed.

(^\.ht)|(\.php[34]$) giver også det samme
Avatar billede jensgram Nybegynder
17. maj 2006 - 13:48 #7
(^\.ht|\.php[34]$) vel i princippet også (utestet)

Nej, jeg tror ikke, at du kan nøjes med \. én gang - ihvertfald ikke uden en lidt (for?) avanceret RE.
Avatar billede lakana Nybegynder
16. august 2006 - 17:39 #8
svar
Avatar billede jensgram Nybegynder
17. august 2006 - 19:51 #9
!
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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