ля четный 20-205, трам пам памм нечетный 10-304 лялябра ля 20-56 трали вали»
Нужно из него извлечь диапазоны. Четные в таких-то границах, не четные в таких, непрерывный диапазон такой то. С четными и не четными все понятно. А как достать диапазон перед которым нет слова четный или нечетный?
"ля ля ля четный 20-205, трам пам памм нечетный 10-304 лялябра ля 20-56 трали вали" .match(/\d+\-\d+/g) .map(s => s.split('-').map(Number))
и? какой диапазон четный, какой не четный, какой не разрывный?
"ля ля ля четный 20-205, трам пам памм нечетный 10-304 лялябра ля 20-56 трали вали" .match(/(нечетный|четный)?\s*\d+\-\d+/g) .map(s => s.match(/((нечетный|четный)?)\s*(\d+)\-(\d+)/)) .map(([_, oddType, _2, min, max]) => ({ type: ({'нечетный': 'odd', 'четный': 'even'})[oddType], min: +min, max: +max, }) )
/(?<!четный) (\d+-\d+)/
Спасибо. В шпаргалках что-то напутано с этими "вперед смотрящими" выражениями. Так работает хорошо!!! Еще раз. 🤝
Обсуждают сегодня