$re = '/([0-9]+)\s+(.*?)\s*\[([^][]+)]/m';
$str = '1 Dead Revels [RNA]
7 Final Payment [RNA]
1 Ob Nixilis\'s Cruelty [WAR]
1 Aid the Fallen [WAR]
13 Makeshift Battalion [WAR]
1 Sunblade Angel [WAR]
34 Trusted Pegasus [WAR]
1 Orzhov Racketeers [RNA]
1 Wanderer\'s Strike [WAR]
1 Reya Dawnbringer [UMA]
4 Expansion // Explosion [GRN]';
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