Search code examples
phppreg-matchuuid

PHP preg_match UUID v4


I've got a string that contains UUID v4

$uuid = 'http://domain.com/images/123/b85066fc-248f-4ea9-b13d-0858dbf4efc1_small.jpg';

How would i get the b85066fc-248f-4ea9-b13d-0858dbf4efc1 value from the above using preg_match()?
More info on UUID v4 can be be found here


Solution

  • $uuid = 'http://domain.com/images/123/b85066fc-248f-4ea9-b13d-0858dbf4efc1_small.jpg';
    preg_match('!/images/\d+/([a-z0-9\-]*)_!i', $uuid, $m);
    

    And

    preg_match('/[a-f0-9]{8}\-[a-f0-9]{4}\-4[a-f0-9]{3}\-(8|9|a|b)[a-f0-9]{3‌​}\-[a-f0-9]{12}/', $uuid, $m);
    

    works too. Taken from here, but I don't know if we can rely on that.