Метод es (arexpressions)

Нотатки до духів об'єктів:

При повторному спроби пошуку збігу, викликавши Matches обробник регулярних виразів дає порожні збіги особливим чином. Зазвичай обробник регулярних виразів починає пошук наступного відповідності точно Попереднє збіг місця. Однак після порожнього збіги обробник регулярних виразів переміщує один символ перед спробою. Це гарантує, що обробник регулярних виразів буде протікати рядки. В іншому випадку - оскільки пусте збіг не призводить до будь-якої переміщення вперед, наступне відповідність почнеться в тому ж місці, що і попередній і багаторазово буде відповідати же порожній рядок.

У наступному прикладі шаблон регулярного виразу a * шукає нуль або декілька входжень літери «» в рядку «abaabb». Як вихідні дані в прикладі показаний підсумковий MatchCollection об'єкт містить шість Match об'єктів. Перша спроба match знаходить перший «». Другий пошук починається точно перший збігаються закінчується до першого b; він пошук не виявить входжень «a» і повертає порожній рядок. Третє відповідності не починається точно там, де друге відповідність закінчилося, так як друге відповідність повернуло порожню рядок. Замість цього він починається на один знак пізніше, після першої «b». Третє відповідність знаходить два входження «a» і повертає «aa». Четвертий спроби пошуку збігу починається, де закінчився третій, перед другою літерою «b» і повертає порожній рядок. П'ятий спроби пошуку збігу знову переміщує один символ, що починається до третьої «b» і повертає порожній рядок. Шостий пошук починається після останньої «b» і знову повертає порожній рядок.

Схожі статті