3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = '{{ 1, $user:John Doe; $dgd:brat; }}'; preg_match_all("/(?=[^}]*}})(?(?!\w)\s+)\K([$]?[^[:punct:]]+)(?<!\s)/", $string, $matches); print_r($matches[1]);

preferences:
39.99 ms | 402 KiB | 5 Q