Regex для ввода в обрабатывающий пол, например E, D, U1, U2 и т. Д. - PullRequest
0 голосов
/ 14 декабря 2018

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

Я хочу соответствовать либо только E, только D, только 1, 2, 3 ect. или только U1, U2, U3 ect., последний также должен быть в правильном порядке, в котором буква стоит перед числом, а ненаоборот.

До сих пор я придумал здесь это регулярное выражение: /[UED]|[1-9]/g

Но это соответствует слишком многим вещам, например, 2U также будет соответствовать или ED22 или UD1 и так далее.Я пробовал это с regexr.com, но до сих пор не смог решить эту проблему.

Кто-нибудь знает, как я могу использовать только один из четырех вышеупомянутых входов?

Valid Inputs:
E
U8
D
32
etc..

Invalid Inputs:
2U
ED
EEE
D1
etc.

1 Ответ

0 голосов
/ 14 декабря 2018

Вы можете использовать

^(?:[ED]|U?[1-9]\d*)$

См. еще одну демонстрацию регулярных выражений

Подробности

  • ^- начало строки
  • (?: - начало группы без захвата, соответствующей либо
    • [ED] - E или D
    • | - или
    • U?[1-9]\d* - необязательно U, ненулевая цифра и любые цифры 0+
  • ) - конец группы
  • $ - конец строки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...