Мы уже знаем, как создать шаблон, который соответствует или исключает определенные символы. Но что, если мы хотим соответствовать символу, который находится в последовательном диапазоне символов? Есть ли у нас выход, кроме как перечислять вручную все символы из этого диапазона?
К счастью, мы можем указать диапазон необходимых нам символов, используя квадратные скобки вместе с тире. Например, шаблон [0-6]
будет соответствовать одиночному символу (точнее, цифре) от 0
до 6
и ничему больше. Аналогично шаблон [^n-p]
будет соответствовать любому одиночному символу, кроме диапазона букв от n
до p
.
Мы также можем использовать несколько диапазонов символов в одних квадратных скобках вместе с отдельными символами. Примером этого является буквенно-цифровой метасимвол \w
, который эквивалентен диапазону [A-Za-z0-9_]
и часто используется для сопоставления символов в тексте на английском языке.
В следующем упражнении обратите внимание на шаблоны, которые имеют строки с заданиями «Соответствовать» и «Пропустить». Используйте диапазоны символов для соответствия или пропуска необходимых символов. Имейте в виду, что шаблоны чувствительны к регистру, и a-z
отличается от A-Z
(нижний и верхний регистр, соответственно).
Задание | Текст | |
Соответствовать | Ana | ![]() |
Соответствовать | Bob | ![]() |
Соответствовать | Cpc | ![]() |
Пропустить | aax | ![]() |
Пропустить | bby | ![]() |
Пропустить | ccz | ![]() |
Решение | Все символы являются последовательными, поэтому вы можете использовать разные диапазоны в выражении [A-C][n-p][a-c], чтобы соответствовать только первым трем строкам. |