$re = '/(?|([a-zA-Z0-9]+)=(?|([^\v \'"]+)|"(.*?)"|\'(.*?)\')|([a-zA-Z0-9]+))/s';
$str = 'a=123 344=555
a=1 b=2 c=3
delim=; trst=.... c=3
delim=; trst=".... " c=3
x=12 abc="asdasda"
x12 abc="asdasda"
x13 xddss=\'asdasda\'
x13=213 xddss=\'asdasda\'
adas=123 123=312312 x="dasdas asd as as das das das das das" as="adsasdas"
adas=123 123=312312 x="dasdas asd as as = das das das das das" as="adsasdas"
adas=123 123=312312 x=\'dasdas asd as as das das das das das\' as=\'adsasdas\'
adas=123 123=312312 x=\'dasdas asd as as = das das das das das\' as=\'adsasdas\'';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php