Лічильники

За допомогою лічильників можна виконувати пошук вказаної кількості або певного діапазону кількостей відповідників символу, класу символів або підшаблону.

Лічильники слід вказувати між фігурними дужками ({ і }). У загальному випадку вони виглядають так: {[мінімальна кількість][,[максимальна кількість]]}

Використання найкраще пояснюється прикладом:

{1}

Точно один збіг.

{0,1}

Жодного або 1 збіг.

{,1}

Те саме, але меншими зусиллями ;)

{5,10}

Не менше 5, але не більше 10 збігів.

{5,}

Не менше 5 збігів, без обмежень згори.

Крім того, існує декілька скорочень:

* (зірочка)

те саме, що і {0,}, шукати без обмеження на кількість відповідників.

+ (знак «плюс»)

те саме, що і {1,}, принаймні один відповідник.

? (знак питання)

те саме, що і {0,1}, жодного або один відповідник.

Жадібність

За використання лічильників без зазначення максимальної кількості, типово, буде виконано пошук якомога більшої кількості відповідників формального виразу, така поведінка називається жадібною.

У сучасних рушіях пошуку за формальними виразами передбачено можливість «вимикання жадібності», забезпечення доступу до цієї можливості є проблемою лише графічного інтерфейсу. Наприклад, у діалоговому вікні пошуку за формальним виразом може бути поле для позначки з міткою «Мінімальна кількість збігів», а також певним чином позначено, що жадібність є типовою поведінкою.

Приклади використання

Ось декілька прикладів використання лічильників.

^\d{4,5}\s

Буде знайдено цифри у «1234 поїхали» і «12345 давай», але не у «567 одинадцять» і у «223459 десь».

\s+

Буде знайдено один або декілька пробільних символів.

(ля){1,}

Буде знайдено «ляляля», а також «ля» у словах «шабля» або «пляшка».

/?>

Буде знайдено «/>» у «<closeditem/>», а також «>» у «<openitem>».