Это регулярное выражение соответствует палиндромам:
^((.)(?1)\2|.?)$
Не могу уложить в голове, как это работает. Когда заканчивается рекурсия и когда регулярное выражение выходит из рекурсивного подшаблона и переходит к части "|.?"
?
Спасибо.
изменить :извините, я не объяснил \2
и(?1)
(?1)
-относится к первому подшаблону (к самому себе)
\2
-back -ссылка на совпадение второго подшаблона, то есть(.)
Пример выше написан на PHP. Соответствует как "abba" (без символа палиндрома в середине ), так и "abcba" -имеет средний, не -отраженный символ