Курс языка программирования Raku / Регулярные выражения и грамматики / Регулярные выражения / Сопоставление строк
Оператор умного сопоставления
Оператор, применяющий регулярное выражение к строке, — это умное
сопоставление ~~:
say 'the cat sat' ~~ /cat/; # 「cat」Шаблон между косыми чертами — самая распространённая форма, но есть ещё две, означающие то же самое и порой более наглядные:
say 'the cat sat' ~~ m/cat/; # 「cat」
say 'the cat sat' ~~ rx/cat/; # 「cat」Форма m/.../ подчёркивает, что вы именно
сопоставляете, и удобна, когда к сопоставлению нужно добавить
параметры (с этими параметрами, которые называются наречиями, вы встретитесь
позже). Форма rx/.../ создаёт значение — регулярное
выражение, — пока его не применяя.
Очень часто важно лишь то, совпала ли строка, а не что именно
нашлось. Поскольку успешное сопоставление — истинное значение, а
неудачное — ложное, результат можно использовать прямо в логическом
контексте. Чище всего получить простое True или
False с помощью функции so:
say so 'the cat sat' ~~ /cat/; # True
say so 'the cat sat' ~~ /dog/; # FalseБлагодаря этому регулярное выражение естественно смотрится как
условие для if:
if 'the cat sat' ~~ /cat/ {
say 'found it'; # found it
}Практика
Пройдите 1 тест по содержанию этой темы.
Навигация по курсу
← Сопоставление строк | Тест — Умное сопоставление →
💪 Или перейдите сразу к упражнениям этого
раздела.