$re = '/ (?:([\w]+)((?:->|\.)))?([\w]+)(?:(\()((?:[\w]+|\"[^"]*?\"|))(?:\s*(,)\s*((?:[\w]+|\"[^"]*?\"|)))*(\)))/m';
$str = 'log(IL_Info, "Scheduler:Starting");
CarrotCloud::Scheduler::Scheduler::addEvent(Event *apEvent)
log(IL_Info, "Scheduler:registered event:" + apEvent->name);
log(IL_Info, "Scheduler: addtask:" + apNewTask->taskName());
append(apNewTask);
append(a, b);
auto *pTimer = new QTimer();
pSenderTimer.property("trigger") == "date"
pSenderTimer->property("id")
scheduler.runTask(fpSchedulingTask);
log(IL_Info,"Scheduler: Starting", petetke, petete);
';
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