$re = '/<Button[^>]*[\n\s]+className[^>]*>/m';
$str = '<Button className={style.red} />
<Button className={style.red}> </Button>
<Button
palette="primary"
className={style.blue}
/>
<Button
palette="primary"
/>
<Button
palette="primary"
className={style.blue}
>
</Button>
<Button
palette="primary"
condition={ value => 5 ? props1 : props2 }
className={style.blue}
/>
<Button
palette="primary"
condition={ value <= 5 ? props1 : props2 }
className={style.blue}
/>
<Button
palette="primary"
className={style.blue}
condition={ value => 5 ? props1 : props2 }
/>';
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