3v4l.org

run code in 300+ PHP versions simultaneously
<?php $emails = '"Bob Smith" <bob@company.com>, joe@company.com, "John Doe"<john@company.com>, Billy Doe<billy@company.com>'; preg_match_all('/(?|(?|"([^"]+)"|([^<@]+)) ?<(.+?)>|()(.+?))(?:$|, ?)/', $emails, $matches, PREG_SET_ORDER); var_export( array_column($matches, 1, 2) );
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
array ( 'bob@company.com' => 'Bob Smith', 'joe@company.com' => '', 'john@company.com' => 'John Doe', 'billy@company.com' => 'Billy Doe', )

preferences:
101.65 ms | 407 KiB | 5 Q