Regex, чтобы не допускать дублирования групповых символов - PullRequest
0 голосов
/ 21 февраля 2020

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

02:12
10:23
00.23
0.23
.02
:88

Вот что я пробовал: ^([0-9:. ])*[.: ]+$

Но это позволяет дублировать ":,., ( пробел) ", а также я не могу ограничиться 1-2 цифрами с обеих сторон подстановочных знаков. Любая помощь будет отличной. Спасибо

1 Ответ

3 голосов
/ 21 февраля 2020

Шаблон, который вы пробовали, соответствует только цифрам на левой стороне, и совпадение дубликатов происходит из-за квантификаторов.

Если вы хотите разрешить 1 или 2 цифры с обеих сторон и сделать цифры слева необязательными:

^[0-9]{0,2}[.:][0-9]{1,2}$
  • ^ Начало строки
  • [0-9]{0,2} Соответствует 0, 1 или 2 раза, а git 0-9
  • [.:] Соответствует либо ., либо :
  • [0-9]{1,2} Соответствие 1 или 2 раз git 0-9
  • $ Конец строки

Regex demo

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