Регулярные выражения

Сохраняющие и несохраняющие скобки

(ab)

(?:ab)

preg_match

preg_match("#(\d{2})-(\d{2}-(\d{4}))#","12-01-1999",$match)

в array $match записываются наши данные: [0] - сама строка, затем [1],[2] и далее сами вхождения (карманы).

Именованные карманы

preg_match("#(?P<day>\d{2})-(?P<month>\d{2})-(?P<year>\d{4}))#","12-01-1999",$match)

Внутреннее сравнение

preg_match("#(?P<day>\d{2})-(?P<month>(?P=day))-(?P<year>\d{4})#","12-12-1999",$match)

Ещё раз кратко

?P<name> --- задаём имя

(?P=name) --- достаём из памяти

Неименованные

НЕРАБОЧЕЕ ПОПРАВИТЬ preg_match("#(?P<day>\d{2})-(\1)-(?P<year>\d{4})#","12-12-1999",$match)