Курс языка программирования Raku / Регулярные выражения и грамматики / Регулярные выражения / Наречия

Сопоставление без учёта регистра

Обычно регулярное выражение различает прописные и строчные буквы: /hello/ не совпадает с HELLO. Наречие :i (сокращение от :ignorecase) это различие отключает:

say 'HELLO' ~~ /:i hello/; # 「HELLO」

С :i буквы совпадают независимо от регистра, поэтому шаблон в нижнем регистре подходит к тексту в верхнем. Работает это в обе стороны, а также при смешанном регистре:

say 'I use RAKU' ~~ /:i raku/; # 「RAKU」

Наречие можно записать и у оператора m///, а не внутри шаблона:

say 'HELLO' ~~ m:i/hello/; # 「HELLO」

Оба варианта заставляют игнорировать регистр весь шаблон. Следующая страница подробнее рассматривает, где действует наречие — в чём разница между двумя способами записи — и как снова включить чувствительность к регистру для части шаблона.

Практика

Пройдите 1 тест по содержанию этой темы.

Навигация по курсу

Наречия   |   Тест — Игнорирование регистра


💪 Или перейдите сразу к упражнениям этого раздела.