<?php
$data = <<<DATA
locgrouparray[i++] = new locgroup("E0.090 (33)", "E0.090 (33)", "#SPLUS6ECDBE", "MET");
locgrouparray[i++] = new locgroup("E0.092 (28)", "E0.092 (28)", "#SPLUS6ECDBF", "(none)");
locgrouparray[i++] = new locgroup("E0.111 (30)", "E0.111 (30)", "#SPLUS6ECDC0", "(none)");
locgrouparray[i++] = new locgroup("E0.113 (30)", "E0.113 (30)", "#SPLUS6ECDC1", "(none)");
DATA;
preg_match_all('/new locgroup\("(?<Class>[^"]+)", "[^"]+", "(?<ClassId>[^"]+)", "(?<type>[^"]+)"\)/', $data, $matches, PREG_SET_ORDER);
$parsedData = array_map(function (array $row) { return array_intersect_key($row, array_flip(array('Class', 'ClassId', 'type'))); }, $matches);
var_dump($parsedData);
preferences:
34.94 ms | 402 KiB | 5 Q