Хотя можно построить регулярное выражение, которое будет делать то, что вы хотите, я действительно думаю, что вам будет удобнее делать это через DOM, если у вас нет причин не использовать DOM. Там нет тегов, которые предлагают язык или платформу, поэтому трудно получить более конкретный, чем это.
Есть ли какая-либо конкретная причина для попытки анализа HTML с помощью регулярного выражения вместо его загрузки в DOM или использования DOM, доступного в браузере через Javascript?
Если у вас есть только такой фрагмент, вы можете использовать
value="(\d*)"
Где (\ d *) будет захватывать значения каждого параметра.
Проблема, которую я вижу, заключается в том, что вам придется сузить поле поиска с помощью другого регулярного выражения, чтобы получить такой простой запрос. Что-то вроде
<select.*>(.*?)</select>
во внешнем цикле будет работать в большинстве случаев. Тем не менее, DOM - ваш друг, и он избегает таких хаков.