Fácil (ish) de ler expressões regulares

Você pode tornar suas expressões regulares um pouco mais fáceis de ler e depurar se nomear seus grupos de correspondência.

A seguinte expressão pode ser usada como uma maneira (muito simples) de analisar e-mails:

preg_match('/^([^@]+)@(.+)$/', $your_email, $matches);

Normalmente, você faria referência à parte do nome do e-mail como $matches[1], então, se quisesse ter certeza de que o e-mail foi analisado corretamente, você usaria:

if (isset($matches[1], $matches[2]) { ...

Mas seria melhor se seu código se explicasse, então, em vez disso, use esta expressão:

/^(?<name>[^@]+)@(?<domain>.+)$/

E então, em seu código, você escreveria:

if (isset($matches['name'], $matches['domain']) { ...

O que torna óbvio exatamente quais partes da expressão você está testando.