Регулярное выражение
Здравствуйте.
Пытаюсь практиковаться в написании регулярных выражений, однако результат не очень ясен. Подскажите, пожалуйста, почему так?
console.log(/[0-3]?\d-[0-1]?\d-[0-2]\d{3}/.test("45-12-1991"));
Результат будет true, хотя я указал диапазон первого символа [0-3] При этом если взять и 12 изменить на 22, то результат будет false, хотя это идентичные условия. Предполагаю, что это из-за "?", но тогда не ясно, почему во втором числе все нормально проверяется. |
Цитата:
Что вообще ты там собрался проверять? |
Если это проверка даты - так есть "стандарты". ;)
Цитата:
|
Цитата:
re = /[0-3]?\d-[0-1]?\d-[0-2]\d{3}/
str = "45-12-1991"
console.log(str.match(re)[0])
//>>>> 5-12-1991
Цитата:
console.log("-12-".match(/-[0-1]?\d-/))
console.log("-22-".match(/-[0-1]?\d-/))
//>>>> [ '-12-', index: 0, input: '-12-' ]
//>>>> null
как то так, вроде |
Благодарю за разъяснения :thanks:
|
| Часовой пояс GMT +3, время: 14:23. |