Показать сообщение отдельно
  #6 (permalink)  
Старый 15.02.2012, 15:12
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

пришла только такая мысль, сделать все скобки незапоминающими
/^(?:\d+)(?: р. )?(?:\d+)?(?: м. )?(?:\d+)?(?: дн. )?$/
а 3 группы заключить в запоминающие скобки
var re = /^((?:\d+)(?: р. )?)((?:\d+)?(?: м. )?)((?:\d+)?(?: дн. )?)$/,
	m = '33 р. 444444 м. 555 дн. '.match(re);

if (m) {
  alert('Первый индекс: ' + m['index']);
  if (m[2]) alert('Второй индекс: ' + (m['index'] + m[1].length));
  if (m[3]) alert('Третий индекс: ' + (m['index'] + m[1].length + m[2].length));
}
Ответить с цитированием