/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Et problem med Like operatoren...
Fra : Mathias


Dato : 25-12-03 12:09

Hej NG.
Jeg har efterhånden fundet ud af, at at bruge "Like"-operatoren er lidt
ligesom at bruge Regular Expressions. Men kan man skrive f.eks. [a-zA-Z*]
[0-9*] når man bruger Like-operatoren?
Hilsen Mathias

 
 
Tomas Christiansen (25-12-2003)
Kommentar
Fra : Tomas Christiansen


Dato : 25-12-03 21:51

Mathias skrev:
> Jeg har efterhånden fundet ud af, at at bruge "Like"-operatoren er lidt
> ligesom at bruge Regular Expressions. Men kan man skrive f.eks. [a-zA-Z*]
> [0-9*] når man bruger Like-operatoren?

Selvfølgelig kan man skrive det, men du opnår formentlig ikke det, som du
ønsker.
Som det fremgår klart af dokumentationen til Like, betyder "*" zero or more
characters. Du kan ikke angive en klasse af tegn, som * skal matche. Omvendt
kan du, når du angive en klasse, ikke angive at der må være flere end én
forekomst.

Vi må konstatere at Like er ganske fin dér hvor den kan bruges, men set i
forhold til regulære udtryk, er Like udpræget amputeret (der er nærmest kun
lillefingeren tilbage).

Vil man regulære udtryk, må man enten selv i gang med at kode (men det er
nok et stort arbejde, og det performer sikkert ikke særlig godt), eller også
kan man gøre brug af "Microsoft VBScript Regular Expressions X.Y" (X.Y står
for et versionsnummer - jeg har version 1.0 og 5.5 på min PC). Sæt en
reference til denne i Project, References og prøv følgende:

Dim x As RegExp
Set x = New RegExp
x.Pattern = "(a-z)*(0-9)*"
Debug.Print x.Test("abc123")

Vær dog opmærksom på at der i ovenstående mønster testes på forekomster af 0
eller flere a-z'er efterfulgt af 0 eller flere 0-9'er et _vilkårligt_ sted i
strengen "abc123". Angiver man f.eks. "Xabc123X" vil testen stadig give
svaret sandt. Søg selv efter dokumentation på "VBScript Regular Expressions"
hvis du vil arbejde videre ad denne sti.

-------
Tomas


Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408191
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste