Рекурсивные регулярные выражения

SEO, Web-Programming

Разработка и продвижение сайта — Рекурсивные регулярные выражения

Заказать аудит сайта

Текст «как есть»:

Принялось решение добавить регулярные выражения в свой язык программирования. По началу я подумал, что мне совершенно незачем в них разбираться и в интернете, наверняка, уже есть полно готовых библиотек. Стал искать, нашёл какие-то осколки кода на С++, которые ничего не дают. Пришлось самому разобраться, что такое регулярные выражения тут. Ради спортивного интереса, я решил сделать свою библиотеку на С++.

Стал делать и подумал, а почему бы мне не добавить туда своих тараканов. Я решил добавить две конструкции:

{namesubexpression} — вызов под выражения по имени «namesubexpression»,
($namesubexpression:BodyExpression) — описание под выражения с именем «namesubexpression».

Само описание под выражения может встречаться в любом месте структуры регулярного выражения и игнорируется при поиске, подобно закоментированым: (#MeComment).
Сразу же возникает проблема бесконечной рекурсии.
Вот пример рекурсивного регулярного выражения, который недопустим: ($E:{E}){E}

Конечно, я сделал стадию валидации и такие поисковые конструкции просто не допустятса в поисковую машину. Также валидацию не пройдет выражение, которое содержит в себе вызов не описанного под выражения.

Вот пример текста, который можно спарсить рекурсивным регулярным выражением (РРВ): [[[[[A]]]]]
А вот его РРВ: ($RRE:[({RRE}|A)]){RRE}

Я также решил добавить три зарезервированные конструкции:
{:String} соответствует выражению: (("(.|[^"])*")|('(.|[^'])*'))
{:Digit} соответствует выражению: (-?[0-9]+.?[0-9]*[Ee]?-?[0-9]*)
{:Name} соответствует выражению: ([A-Za-z][A-Za-z0-9]*)
Но их поисковая система не использует структурные элементы аналогичных выражений, а организованна встроенным машинным поиском, который работает значительно быстрее и возвращает одну целую строку текста, в которой содержится всё тело найденного соответствия а не части для каждого компонента в аналогичных регулярных выражениях.

Читать далее

SEO

Источник информации: Рекурсивные регулярные выражения

Еще по теме...  Решение ВТБ для ускорения финансовой отчетности стало победителем Национальной премии «Приоритет: Цифра 2023»

Запустить свой интернет-магазин

#Теги:

#Аудит сайта,#SEO, #SERM, #WordPress

Tagged with: