Avatar billede jansangill Nybegynder
13. november 2007 - 11:47 Der er 6 kommentarer og
1 løsning

Kun tillade visse tegn

Hvis man kun vil have at ens url må have disse tegn:

0-9
a-å
-+_

Hvordan gøres det i reg exp?

Sådan ?

^[0-9a-zæøå_+\-]+$
Avatar billede nielle Nybegynder
13. november 2007 - 11:59 #1
Det er ikke nødvendigt at escape '-'-tegnet, men ellers er der sådan det skal set ud.

Delmønsteret "0-9a-z_" kan dog forkortes til "\w".
Avatar billede jansangill Nybegynder
15. november 2007 - 13:13 #2
Okay,, mange tak for det. Synes også det skulle være rigtigt, men det fejlede af visse årsager, indtil jeg puttede ^ inden for [

.Pattern = "[^0-9a-z_+\-]"

mener du ikke at "0-9a-z" kan forkortes til "/w", istedet for "0-9a-z_"?
Avatar billede jansangill Nybegynder
15. november 2007 - 13:13 #3
Forresten smid du bare et svar.
Avatar billede nielle Nybegynder
16. november 2007 - 20:26 #4
'^'-tegnet indenfor eller uden for [...] betyder to diamentralt modsatte ting; hvis den ene er Sand er den anden Falsk og omvendet. Derfor afhænger resten af løningen også af din If-Then:

If re.Test(url) Then
    ' OK!
Else
    ' Ikke OK!
End If

- eller den omvendte version:

If re.Test(url) Then
    ' Ikke OK!
Else
    ' OK!
End If

Nu havde du både et '^'-tegn og et '$'-tegn så jeg regnede med at du brugte '^'-tegnet i den funktion af at den matcher imod "starten af strengen"...

Nej, \w (ikke /w) matcher faktisk også '-'-tegnet for uden a-z og 0-9. Desuden hvis du skriver '\-'- inden i en [...] så vil det opfattes som to tegn '\' og '-' - '\'-tegnet vil ikke fungere som en escape af '-'. Så vidt jeg læser spørgsmåket er det ikke det du ønsker:

re.Pattern = "^[\wæøå+-]+$"
re.IgnoreCase = True

If re.Test(url) Then
    ' OK!
Else
    ' Ikke OK!
End If
Avatar billede nielle Nybegynder
16. november 2007 - 20:26 #5
... og et svar :^)
Avatar billede jansangill Nybegynder
16. november 2007 - 21:22 #6
Mange tak for forklaringen. Det hjalp en del.
Avatar billede nielle Nybegynder
17. november 2007 - 09:27 #7
Takker for point. :^)

Lige retelles af en typo:

Nej, \w (ikke /w) matcher faktisk også '_'-tegnet foruden a-z og 0-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
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