3v4l.org

run code in 300+ PHP versions simultaneously
<?php $filename = '1234_56_78 A_FAIRLY_SHORT_TITLE_D.pdf'; preg_match('~([^ _]+)[ _]([^ _]+)[ _]([^ _]+)[ _](.+)[ _](\S)~', pathinfo($filename, PATHINFO_FILENAME), $m); var_export([ 'project_no' => $m[1], 'series_no' => $m[2], 'sheet_no' => $m[3], 'title' => str_replace('_', ' ', $m[4]), 'revision' => $m[5], ]);
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 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 ( 'project_no' => '1234', 'series_no' => '56', 'sheet_no' => '78', 'title' => 'A FAIRLY SHORT TITLE', 'revision' => 'D', )

preferences:
110.22 ms | 407 KiB | 5 Q