¿Cómo detecta este patrón PCRE los palíndromos?

Esta pregunta es una demostración educativa del uso de búsqueda anticipada, referencia anidada y condicionales en un patrón PCRE para que coincida con TODOS los palíndromos, incluidos los que no pueden coincidir con el patrón recursivo proporcionado en la página de manual de PCRE.

Examine este patrón PCRE en el fragmento de PHP:

$palindrome = '/(?x)
^
  (?:
      (.) (?=
              .*
              (
                \1
                (?(2) \2 | )
              )
              $
          )
  )*
  .?
  \2?
$


/';

Este patrón parece detectar palíndromos, como se ve en estos casos de prueba (ver también en ideone.com):

$tests = array(
  # palindromes
  '',
  'a',
  'aa',
  'aaa',
  'aba',
  'aaaa',
  'abba',
  'aaaaa',
  'abcba',
  'ababa',

  # non-palindromes
  'aab',
  'abab',
  'xyz',
);

foreach ($tests as $test) {
  echo sprintf("%s '%s'\n", preg_match($palindrome, $test), $test);  
}

Entonces, ¿cómo funciona este patrón?

Notas

Este patrón usa unreferencia anidada, que es una técnica similar utilizada en¿Cómo esta expresión regular de Java detecta palíndromos?, pero a diferencia de ese patrón de Java, no hay mirar atrás (pero sí utiliza uncondicional)

Además, tenga en cuenta que el PCREpágina man presenta un patrón recursivo para que coincida con algunos palíndromos:

# the recursive pattern to detect some palindromes from PCRE man page
^(?:((.)(?1)\2|)|((.)(?3)\4|.))$

La página de manual advierte que este patrón recursivo NO puede detectar todos los palíndromos (ver:¿Por qué esta expresión regular recursiva solo coincidirá cuando un personaje repita 2?n - ¿1 vez? ytambién en ideone.com), pero el patrón anidado de referencia / búsqueda anticipada positiva presentado en esta pregunta puede.

Respuestas a la pregunta(1)

Su respuesta a la pregunta