2016-05-09 5 views
1

Мне нужно проверить шведский почтовый индекс, длина которого должна быть 6 символов. Должно быть место для 4-го символа.Regex Check Char Location

Пример может служить 114 55

Я знаю, что может проверить длину будучи 6 с ^[a-zA-Z]{6}$, но я могу проверить четвёртый голец пространства и проверить длину, а?

Это должно быть регулярное выражение, поскольку он хранится в файле XML, который разобранного

Я смотрю на регулярное выражение при условии, а также некоторых других решений, и по большей части она работает.

теперь я вижу, что нужно проверить 11455 или 114 55, но я не могу подтвердить 11455- 9085 или 11455 6625.

Я использую регулярное выражение ^\d{5}|(\d{3}\s\d{2})$, но он также рассматривает два последних как действительные, как я могу исключить это?

В этом случае у меня есть один случай, который я не могу решить. Если почтовый код вводится как 60922-62646, последние 5 цифр считаются действительными.

Мое регулярное выражение (\d{5}$)|(\d{3}\s\d{2}$) и оно работает для всех случаев, за исключением только что упомянутого.

Любые советы?

+1

'^ [a-zA-Z] {3} [a-zA-Z] {2} $'. Для цифр используйте '\ d' –

+1

'^\ d {3} \ d {2} $ '- 4 цифры, пробел, 3 цифры, если это то, что после –

+0

@AlexK. Я бы предположил следующее: '^ \ d {3} \ s \ d {2} $'. Регулярное выражение, которое вы указали, составляет 4, пробел и 3 не 3, пробел и 2 ... Это также работает: '\ d {3} \ s \ d {2}' https://regex101.com/r/aJ0yO8/ 1 – Codexer

ответ

-1

Как же весело, как у меня был узнать о регулярных выражениях, у меня есть срок, и я решил Google регулярного выражения для проверки почтовых кодов Швеции, и я нашел этот

^(s-|S-){0,1}[0-9]{3}\s?[0-9]{2}$ 

который работает в любом случае, до сих пор!

+0

не уверен, почему это было проголосовано. –