webForumDet fria alternativet

åäö i RegExp.Pattern?

ASP

7 svar · 359 visningar · startad av Skarre

Medlem sedan apr. 20012 427 inlägg
Frågan#1

Jag har letat igenom VBScript-referensen men kan inte komma på hur jag ska göra för att matcha a-ö. Jag har ett pattern som skall matcha postnummer och ort, alltså t.ex. "152 56 Södertälje" och nedantsående pattern fungerar så länge jag inte inleder ortsnamnet med å, ä eller ö. Hur löser jag detta?

objRegExp.Pattern = "^\d{3}\s{1}\d{2}\s{1}\w"

------------------
// Skarre

Medlem sedan dec. 19998 577 inlägg
#2
objRegExp.Pattern = "^\d{3}\s{1}\d{2}\s{1}[A-Za-ZåäöÅÄÖ\s]*"

Ett ortnamn kan även innehålla mellanslag! :)

------------------
Mostly Harmless

Medlem sedan dec. 200012 464 inlägg
#3
objRegExp.Pattern = "^\d{3}\s{1}\d{2}\s{1}[A-Za-zÅÄÖåäö\s]+$"

kanske, då tänkte jag det också skall matcha om ortsnamnet består av flera ord.

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 02 dec 2001]

Medlem sedan apr. 20012 427 inlägg
#4

Tackar! :)

------------------
// Skarre

Medlem sedan apr. 20012 427 inlägg
#5

Jag kanske skulle ha testat det först. :) Jag får följande fel:

Microsoft VBScript runtime (0x800A139D)
Invalid range in character set

------------------
// Skarre

Medlem sedan dec. 200012 464 inlägg
#6

Använder du Vide's variant? Det andra Z'at skall vara gement

objRegExp.Pattern = "^\d{3}\s{1}\d{2}\s{1}[A-Za-zåäöÅÄÖ\s]*"

------------------
essentitia preter non sans multiplicandum

Medlem sedan apr. 20012 427 inlägg
#7

Tackar! Nu använder jag följande:

"^\d{3}\s{1}\d{2}\s{1}[A-Za-zåäöÅÄÖ]+[A-Za-zåäöÅÄÖ\s]+$"

Jag modifierade den lite för att man inte ska kunna skriva två mellanslag efter postnumret.

------------------
// Skarre

Medlem sedan juni 20008 205 inlägg
#8

"^\d{3}\s{1}\d{2}\s{1}[A-Za-zåäöÅÄÖ]+[A-Za-zåäöÅÄÖ\s]+$"
Du kan ta bort de blåmarkerade grejerna. Anger man inte hur många gånger en teckenklass ska få förekomma antas det bara vara en gång, och det är onödigt atrt förvirra läsaren med en massa "onödig" information. Dessutom torde det bli en liten, liten prestandaförbättring.

------------------
You can be a coward for a few minutes, or dead forever. /Rincewind

255 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)