Как говорит Донат, вы серьезно не должны использовать регулярные выражения в HTML.Тем не менее, так как это довольно простой случай, я буду активатором.А если серьезно, если это на йоту усложняется, переключитесь на парсер DOM.
value="(.+?)"
Я предполагаю, что вы используете PHP, поэтому, чтобы получить захваченную группу, сделайте следующее:
preg_match('value="(.+?)"', $input, $groups);
echo "Value = " . $groups[1];
?
делает его ленивым оператором, поэтому он берет первый кавычка.Если есть возможность избежать кавычек внутри кавычек, вам нужно добавить это:
value="(.+?[^\\])"