私は次のような文字列を持っています:
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"
正規表現で何が間違っていましたか?