$re = '/\b([0][1-9]|[1-9]|1[012])([\/-]|\s)([0][1-9]|[0-9]|1[0-9]|2[0-9]|3[0-1])([\/-]|\s)\d{2,4}/';
$str = 'The quick brown fox has a SSN of 112-10-2021 but a telephone number of 916-732-8711. He was born on 8/13/1969 but his father passed on 12/14/1973. So on 2 23 1980, the cat set off hoping to arrive by 1-31-2020 but quickly realized the snow would make an arrival date more like 01/07/2021. On 2/8/21, the fox narrowly missed the cat but by 3/15/22 had quickly passed.
';
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