В HTML странице есть несколько списков , надо с помощью регулярного выражения выбрать все значения атрибута value из конкретного списка.
<select name='person_id' multiple='selected' size='5'>
<option value='1'>
one
</option>
<option value='2'>
two
</option>
</select>
<select name='person_name' multiple='selected' size='5'>
<option value='1'>
James
</option>
<option value='2'>
Dan
</option>
</select>
Если использую регулярку
\s*<option value='(\d)'>[\w\s]+<\/option>\s*
она выбирает все четыре значения value из обоих списков...
добавляю позитивную опережающую проверку
name='(?=person_id)[\w\s'=<>\/()-]+\s*<option value='(\d)'>[\w\s]+<\/option>\s*
выбирает только последнее вхождение в нужном списке...
подскажите что поправить в регулярном выражении?