^((.)((?<=(?=\n|\2.*\2|(?3)).)))*$
\n
^
(?=foo)
(?(?=foo)|(*F))
\0
^.*$
\A
\z
^((.)((?<=(?=.^|\2.*\2|(?3)).)))*$
^((.)((?<=(?=.^|\2.*\2|(?3)).)))*\z