Основні поняття
? | Знак питання вказує на нуль або одне повторення попереднього елемента. Наприклад, colour?r відповідає як "колір", так і "колір". |
---|---|
* | Зірочка вказує на відсутність або більше повторень попереднього елемента. Наприклад, ab*c відповідає "ac", "abc", "abbc", "abbbc" тощо. |
У регулярних виразах символ * означає "нуль або більше входжень попереднього символу або групи". Однак символ *$ сам по собі не є дійсним регулярним виразом. Схоже, у ньому відсутній попередній символ або група, які повинні відповідати нуль або більше разів.
Як і крапка, зірочка може представляють будь-який персонаж. Однак, тоді як крапка може позначати лише один символ, зірочка позначає будь-яку кількість символів від нуля до нескінченної кількості.
* і * стосуються кількості, а не символів на слово, точніше це означає «нуль або більше». Крім того, . означає «будь-який окремий символ». Отже, коли ви їх об’єднуєте, ви отримуєте «нуль або більше будь-яких символів».
Присвійні квантори Прикладом є X*+, де X є будь-яким символом, * означає «якомога більше разів», а + робить його присвійним, захоплюючи якомога більше X, не повертаючи нічого, навіть якщо це запобігає більшому збігу.