В современных механизмах регулярных выражений есть некоторые функции, которые позволяют вам сопоставлять языки, которые невозможно сопоставить без этой функции. Например, следующее регулярное выражение, использующее обратные ссылки, соответствует языку всех строк, которые состоят из слова, которое повторяется: (.+)\1
. Этот язык не является регулярным и не может соответствовать регулярному выражению, которое не использует обратные ссылки.
Может ли поиск ссылок повлиять на то, какие языки могут быть сопоставлены регулярным выражением? То есть есть ли какие-либо языки, которые могут быть сопоставлены с использованием lookaround, которые нельзя было бы сопоставить иначе? Если да, то это верно для всех вкусов поиска (отрицательный или положительный взгляд или lookbehind) или только для некоторых из них?