$re = '/(\w+)\s ([А-Яа-яЁё\s-]+)\s ([A-Z\d-]+)??\s? ([\d\/]+)??\s? ([\d,]+мм)?\s? (\d+г)\s (\d+)-(.+)\s\((.*)\)/mx';
$str = 'Preciosa бисер круглый 10/0 2,3мм 5г 31100-синий (Чехия)
Zlatka бисер-рубка GC278-10 10г 0278-бежевый (Китай)
Zlatka пайетки ZC 6мм 10г 37-т.синий (Китай)
Preciosa стеклярус круглый 10/0 2,3мм 5г 17140-тёмно-коричневый (Чехия)';
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