Шаблон регулярного выражения для почтовых индексов Лондона не соответствует - PullRequest
1 голос
/ 09 июля 2020

Я пытаюсь создать шаблон регулярного выражения для Javascript, чтобы проверить предоставленное значение почтового индекса, чтобы узнать, соответствует ли оно почтовому индексу Лондона. Почтовые индексы Лондона начинаются с:

  • E C, W C, NW, SE или SW
  • E #, N #, W # ( где # от 1 до 9, single di git)

Мой шаблон регулярного выражения: ^[nN|eE|wW][1-9]{1}|[ecEC|wcWC|nw|NW|seSE|swSW]{2}, и почему-то кажется, что значение, начинающееся с CE совпадений? когда я не указал это ...

Где я здесь ошибаюсь?

1 Ответ

1 голос
/ 09 июля 2020

Попробуйте что-нибудь в этом роде:

pattern = new RegExp('^(?:(?:n|e|w)[1-9]|(?:ec|wc|[ns]w|se))','gi')

См. Онлайн демонстрацию

После вашего комментария я подумал, что вы, возможно, захотите точно сопоставить весь почтовый район Лондона согласно вашей ссылке в OP.

pattern = new RegExp('^(?:e(?:[1-9]|1[0-8]|20)|n(?:[1-9]|1\d|2[012])|w(?:[1-9]|1[0-4])|ec[1-4]|wc[12]|nw(?:[1-9]|1[01])|se(?:[1-9]|1\d|2[0-8])|sw(?:[1-9]|1\d|20)) [a-z]+(?: [a-z']+)*$','gi')

См. Онлайн демо

Возможно, вам придется удвоить обратную косую черту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...