Refactored Dice class constructor to optionally accept a single string as an argument (instead of 0-3 ints for number/sides/bonus) which it attempts to extract the values for number/sides/bonus from (with the PARSE_REGEX pattern).
Also changed the Dice::parse() static method to return a $matches array (from preg_match() using the regex) rather than a new Dice and changed it to protected (as you now create new dice from a string using the improved constructor, which in turn calls the ::parse() method)