Сообщение от korm
|
Результат будет true, хотя я указал диапазон первого символа [0-3]
|
потому что ? означает есть или нет, регулярка начинает матчить с \d
re = /[0-3]?\d-[0-1]?\d-[0-2]\d{3}/
str = "45-12-1991"
console.log(str.match(re)[0])
//>>>> 5-12-1991
Сообщение от korm
|
При этом если взять и 12 изменить на 22, то результат будет false, хотя это идентичные условия.
|
console.log("-12-".match(/-[0-1]?\d-/))
console.log("-22-".match(/-[0-1]?\d-/))
//>>>> [ '-12-', index: 0, input: '-12-' ]
//>>>> null
как то так, вроде