Жадность (регулярные выражения)

Жадность (регулярные выражения)

Жадность (регулярные выражения)

Жадность (в отношении регулярного выражения) — характеристика, указывающая на поведение регулярного выражения при обработке шаблона.

Жадное регулярное выражение «стремится» захватить максимально возможный текст (например, указание «один или более символов» трактуется как «один или более, насколько возможно»).

Нежадное регулярное выражение «стремится» захватить минимально возможный текст (например, указание «один или более символов» будет трактоваться как «один символ»).

Примеры жадных выражений:

/\[.+\]/ 

Захватывает текст, находящийся между квадратных скобок. Однако, если в тексте несколько вхождений текста квадратных скобок, будет захвачен весь текст между первыми открывающими скобками и последними закрывающими.

/\[.+?\]/

Аналогично, захватывает текст, находящийся между квадратными скобками, но прекращает захват после первых же закрывающих квадратных скобок.

Содержание

Разница в реализации

При необходимости обработать жадный элемент шаблона, парсер начинает поиск соответствия с конца обрабатываемой строки; при обработке нежадного элемента, проверка производится с текущего места обработки строки до первого несоответствия.

Примеры реализации

Символ * (звёздочка) при работе с файлами обычно означает «ноль или более символов». В современных операционных системах это нежадное выражение; в DOS этот символ трактовался как жадный, то есть символ * означал «все символы до конца имени файла».

Сравнение работы

Исходная строка:

a = 2 + (b + c) * (d + e)

Цель: выделить выражение в скобках.

Жадное регулярное выражение /\(.+\)/:

(b + c) * (d + e)

Нежадное регулярное выражение /\(.+?\)/:

(b + c)

См. также



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Жадность (регулярные выражения)" в других словарях:

  • Жадность — Жадность: Жадность  неумеренное желание владения или потребления Жадность (регулярные выражения)  характеристика работы регулярного выражения Жадность  комедия с участием Майкла Джей Фокса и Кирка Дугласа. См. также Жадный алгоритм …   Википедия

  • Регексп — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регексы — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регеспы — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регулярки — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регулярное выражение — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регэкс — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регэксп — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регэкспы — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регэксы — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»