Показать сообщение отдельно
  #4 (permalink)  
Старый 11.01.2017, 14:03
Аспирант
Отправить личное сообщение для fuckingquest Посмотреть профиль Найти все сообщения от fuckingquest
 
Регистрация: 28.10.2016
Сообщений: 70

Сообщение от 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

как то так, вроде
Ответить с цитированием