$re = '/\b((?:YMS\-(?:1[54]|07B)|M(?:S(?:M\-(?:10|0(?:7S?|4F?|3))|N\-(?:02|X2)|\-(?:X1[60]|1(?:4[AS]?|1)|R09|0(?:6[FSJ]?|9R?|7B?|5B)))|A(?:N\-(?:0[738]|X[38])|\-0(?:5H?|4X|8)|X\-03|M\-07))))\b/';
$str = 'MAM-07
YMS-07B
YMS-07 -- 無効なモデル名に部分マッチし なくなった';
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