objRegExp.Pattern = "^\d{3}\s{1}\d{2}\s{1}[A-Za-ZåäöÅÄÖ\s]*"
Ett ortnamn kan även innehålla mellanslag!
7 svar · 379 visningar · startad av Skarre
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"
objRegExp.Pattern = "^\d{3}\s{1}\d{2}\s{1}[A-Za-ZåäöÅÄÖ\s]*"
Ett ortnamn kan även innehålla mellanslag!
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.
Tackar!
Jag kanske skulle ha testat det först. Jag får följande fel:
Microsoft VBScript runtime (0x800A139D)
Invalid range in character set
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]*"
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.
"^\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.