Курс по 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 тест върху съдържанието на тази тема.
Навигация в курса
← Съпоставяне на низове | Тест — Интелигентно съпоставяне →
💪 Или преминете направо към упражненията в този
раздел.