åäö i RegExp.Pattern?

ASP

7 svar · 379 visningar · startad av Skarre

Medlem sedan apr. 20012 427 inlägg
Trådstart#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"
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! :)

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.

Medlem sedan apr. 20012 427 inlägg
#4

Tackar! :)

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

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]*"
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.

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.

265 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)