В некоторых карточных играх Джокер является wildcard и может представлять собой любую другую карту в колоде. С помощью регулярных выражений мы часто будем сопоставлять фрагменты текста, содержание которых нам неизвестно, за исключением того факта, что они имеют общий шаблон или структуру (например, телефонные номера или почтовые индексы).
Аналогичным образом в регулярных выражениях также существует понятие wildcard (или «символ подстановки»), который представлен точкой (.
) и может соответствовать любому одиночному символу (например: букве, цифре, пробелу и т.д.). Вы можете заметить, что мы таким образом переопределяем совпадение с символом точки, поэтому для точного совпадения с точкой нам нужно экранировать метасимвол, используя бэкслеш \.
.
Ниже находятся строки с различными символами, но одинаковой длины. Попробуйте написать шаблон, который будет соответствовать первым трем строкам, но не соответствовать последней (она должна быть пропущена).
Задание | Текст | |
Соответствовать | cats. | ![]() |
Соответствовать | 8967. | ![]() |
Соответствовать | ?=+!. | ![]() |
Пропустить | abcd1 | ![]() |
Решение | Вы можете использовать ‘….\.’ для соответствия первым четырем символам и экранирования последнего метасимвола для сопоставления с точкой. Таким образом, мы не тронем 1 в конце четвертой строки. |