Регулярное выражение
Здравствуйте.
Пытаюсь практиковаться в написании регулярных выражений, однако результат не очень ясен. Подскажите, пожалуйста, почему так? 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, время: 03:05. |