That regex does match that line, assuming that the line you've pasted into your question is exactly the line you're matching against:
<?php
$hex = "53 65 72 76 65 72 3a 20 41 70 61 63 68 65 00 45 ";
preg_match('/(?:([a-zA-Z0-9]{2})\s\s)+/', $hex, $matches);
var_dump($matches);
Output:
array(2) {
[0]=>
string(64) "53 65 72 76 65 72 3a 20 41 70 61 63 68 65 00 45 "
[1]=>
string(2) "45"
}
Most likely what you're trying to do is to get an array of the individual hex bytes, though, so if you're using code similar to the above with that regex, then you're doing it wrong. It should be something like this, instead:
preg_match_all('/([a-zA-Z0-9]{2})\s{2}/', $hex, $matches);
// $matches[1] will be your array of hex bytes