Эти выражения были рассмотрены Ахо («Справочник по теоретической информатике», том А, глава 5) и Кампеану, Саломаа, Ю. («Формальное исследование практических регулярных выражений», Международный журнал основ компьютерных наук, 14: 1007 –1018, 2003), а также некоторые последующие документы.
Ахо называет более мощные выражения «rewbr» (регулярное выражение с обратными ссылками), Campeanu et al. используйте «расширенное регулярное выражение», а также «практическое регулярное выражение». Как представляется, «расширенное регулярное выражение» является термином, наиболее часто используемым в современной литературе.
Опираясь на термин «рациональное выражение» из французской школы и учитывая тот факт, что эти выражения используются в реальном мире, мне самому нравится «настоящее выражение».
Приложение: глава моей кандидатской диссертации посвящена этому классу формальных языков (соответствующая статья должна появиться на STACS 2011). При написании этой главы и статьи я экспериментировал с различными терминами. Наконец, я решил использовать расширенные регулярные выражения для модели с обратными ссылками и правильные регулярные выражения для хороших и нормальных регулярных выражений. Поскольку довольно неприятно менять терминологию в документе, который уже полностью (или в основном) написан, я думаю, что некоторые могут быть заинтересованы в опыте, который привел к моему выбору:
Во-первых, regex и rewbr на самом деле не скручивают язык, и их использование снова и снова в течение всей статьи стало действительно утомительным для написания и чтения, особенно при использовании любой из возможных форм множественного числа. Подобные PERL регулярные выражения также были довольно громоздкими. Конечно, я не являюсь носителем языка, поэтому YMMV.
Во-вторых, как только кто-то хочет поговорить об обеих моделях, удобно использовать термины, которые являются вариацией регулярного выражения , поскольку это позволяет подчеркивать сходство или различия по мере необходимости (например, «регулярное выражение, будь оно правильным или расширенный "). Кроме того, это позволяет легко подчеркнуть особый случай «расширенных регулярных выражений без обратных ссылок», когда речь идет об особых случаях во всем классе, вместо сравнения различных моделей.
В-третьих, я предпочел использовать термин, который уже используется в литературе, вместо вновь придуманного термина, который оставил мне выбор между расширенными регулярными выражениями и практическими регулярными выражениями . Второй выбор подразумевал (по крайней мере, неявно), что правильные регулярные выражения как-то непрактичны, что кажется довольно странным (тем более, что в RE2 от Google не используются обратные ссылки, и он выглядит довольно практичным).
Конечно, этот выбор - только мой «личный локальный максимум», и в зависимости от его потребностей, другие варианты могут быть более подходящими.