Частичное сопоставление строки с регулярным выражением в swift - PullRequest
1 голос
/ 16 апреля 2019

Я пытаюсь создать регулярное выражение в формате "dd-dd-dd" в Swift

Я придумал это:

(\d{1,2})(-)(\d{1,2})(-)(\d{1,2})

Этот шаблон дает мне правильный результат, если строка задана как целое. Пример:

12-32-42 -> correct
2-32-1   -> correct
2--32-3  -> incorrect

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

12     -> correct
-12-32 -> correct
12-    -> correct
-12--  -> incorrect

Буду благодарен за любую помощь, которую вы можете оказать.

1 Ответ

1 голос
/ 16 апреля 2019

Одним из вариантов может быть перечисление возможных комбинаций в чередовании :

^(?:\d{1,2}-\d{1,2}-\d{1,2}|\d{1,2}-|-\d{1,2}-\d{1,2}|\d{1,2})$

Regex demo

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