Урок №8. Произвольное количество повторений символов

  Юрий  | 

  Обновл. 12 Ноя 2019  | 

 322

В предыдущем уроке мы научились указывать точное количество повторений необходимых нам символов, но в регулярных выражениях также есть возможность указания произвольного количества повторений символов. Например, представьте, что вы подключили себе на сайт форму с полем для пожертвований, которое принимает числовое значение в долларах. Богатый пользователь может зайти и пожертвовать 1 000 долларов, в то время как обычный пользователь может зайти и пожертвовать всего лишь 5 долларов.

Одним из способов выражения такого шаблона является использование так называемой концепции «Kleene Star» или «Kleene Plus», которые, по существу, представляют соответствие определённому символу (или группе) 0 или больше раз, либо 1 или больше раз. Например, чтобы соответствовать пожертвованиям выше, мы можем использовать шаблон \d* для сопоставления любому количеству цифр, но более логичной версией будет \d+, которая гарантирует, что входная строка будет иметь по крайней мере одну цифру.

Эти два метасимвола могут использоваться с любыми символами или другими метасимволами, например, a+ (одно или больше повторений символа a), [abc]+ (одно или больше повторений символов a, b или c) и .* (ноль или больше повторений вообще любых символов).

В задании ниже для соответствия необходимых строк используйте метасимволы * и +.

Задание №8. Повторяющиеся символы
Задание Текст
Соответствовать aaaabcc To be completed
Соответствовать aabbbbc To be completed
Соответствовать aacc To be completed
Пропустить a To be completed

Решение В каждой строке есть как минимум два а, ноль или больше b и как минимум одно с, поэтому мы можем использовать выражение aa+b*c+.

В качестве альтернативы, ещё более ограничительным выражением будет a{2,4}b{0,4}c{1,2}, где мы указываем точное количество повторений необходимых нам символов.

Решите задание выше, чтобы перейти к следующему уроку, либо смотрите Решение.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (2 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *