$re = '/^(?:(?:[a-z]:|\\\\\\\\[a-z0-9_.$●-]+\\\\[a-z0-9_.$●-]+)\\\\|\\\\?[^\\\\\/:*?"<>|\r\n]+\\\\?)*(?:[^\\\\\/:*?"<>|\r\n]+\\\\)*[^\\\\\/:*?"<>|\r\n]*$/mi';
$str = 'C:\\test\\file.txt
C:\\test\\isthisafile_or_directory
..\\..\\bin\\my_executable.exe
\\tes!rtr
\\\\SERVER\\myfolder\\
\\\\SERVER\\myfolder\\my folder\\
\\\\192.168.0.1\\INVALID SHARE\\
\\\\192.168.0.1\\SHARE\\my folder\\test.exe';
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