У меня есть строка примерно так:
option_alpha="value" option_beta="some other value" option_gamma="X" ...etc.
Я использую это, чтобы разобрать их в пары имя и значение:
preg_match_all("/([a-z0-9_]+)\s*=\s*[\"\'](.+?)[\"\']/is", $var_string, $matches)
, которая прекрасно работает, если не встречаетпустое значение атрибута:
option_alpha="value" option_beta="" option_gamma="X"
Что я сделал неправильно в своем регулярном выражении?