Я пытаюсь написать регулярное выражение, чтобы разрешать числа и только один hypen в середине (не может быть в начале или в конце) сказать pattern: 02-04
, 02
приемлемы, но шаблон: --
или -
или -02
или 04-
или 02-04-06
являются неприемлемыми
Я пробовал что-то вроде этого, но это позволило бы – в начале, а также разрешить несколько –
'/^[0-9 \-]+$/'
Я не так хорошо знаком с регулярным выражением, поэтому небольшое объяснение было бы очень полезно.
EDIT: Извините, что снова вас обманул, но мне нужно, чтобы цифры были всего 2 цифры (123-346), считались недействительными.
Попробуй это:
/^\d{1,2}(-\d{1,2})?$/
Одна или две цифры, за которыми следует, необязательно (дефис, за которым следует одна или две цифры)
Довольно легко:
^\d+(-\d+)?$
По крайней мере, одну ( +
) цифру ( \d
), а затем необязательную группу, содержащую дефис-минус ( -
), за которой следует, по крайней мере, одна цифра.
Для строк, содержащих только этот шаблон, должно работать следующее:
^(\d{2}-)?\d{2}$
Группа из 2 цифр, за которой следует минус, заканчивающийся группой из двух цифр без минуса.