$re = '/(^(?:Steps|Model|Mirror Mode)|\G(?!^).+?):\h*(.+?)(?:,\h*|$)/m';
$str = 'Prompt: professional digital [airbrush:gouache:0.6] art of (mythical:1.1) demon, wearing ragged jacket and pants, dynamic lighting, summer, Dutch Masters:0.6
Negative prompt: (child), (mangled hands), (badly drawn hands),( badly drawn fingers)
Steps: 70, Sampler: Euler a, CFG scale: 40, Seed: 351468770, Size: 340x512, Model hash: 2db4e932c1, Model: Comics_vimod, Denoising strength: 0.651,
Mirror Mode: 2, Mirror Style: 0, Mirroring Max Step Fraction: 0.1, X Pan: 0.02, Y Pan: 0.03
Template: professional digital [airbrush:gouache:0.{6|7|8}] art of ({fantastical|mythical}:1.1) demon, wearing ragged jacket and {skirt|pants|breech cloth|tuxedo}, dynamic lighting, {winter|summer}, Dutch Masters:0.6
';
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