Example:
$string = \"This is some text written on 2010-07-18.\"; preg_match(\'|(?\\d\\d\\d\\d-\\d\\d-\\d\\d)|i\', $string, $arr_result); print_r(
I do not think you can make preg_* do it, but you can do it with a simple loop. But I don't see why those elements pose a problem.
preg_*