Якоря

Если шаблон не совпадает в начале строки, по умолчанию ядро регулярных выражений Perl «перемещает» его по строке, пытаясь найти совпадение в другом месте. Однако выражение может содержать «якорные» символы, привязывающие шаблон к определенной позиции строки. Якорь ^1 (циркумфлекс, «крышка») обозначает начало строки, а знак $ совпадает только в конце строки2. Таким образом, шаблон /^fred/ совпадет только от начала строки; в строке manfred mann совпадение найдено не будет. А шаблон /rock$/ совпадает только c символами rock в конце строки; в строке knute rockne совпадения не будет.

В некоторых ситуациях используются оба якоря; они гарантируют, что шаблон займет всю строку. Типичный пример – шаблон /^\s*$/, совпадающий с пустой строкой. Впрочем, эта пустая строка может содержать пропуски (например, табуляции и пробелы), невидимые для нас с вами. Все строки, состоящие из таких символов, внешне не отличимы друг от друга, поэтому шаблон рассматривает их как эквивалентные. Без якорей он бы также совпадал и в непустых строках.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Perl на эту тему:
Автоматические переменные совпадения
Границы слов
Добавление пропусков (/x)
Другие модификаторы
Жизненный цикл переменных частичных совпадений