Читаем Linux и UNIX: программирование в shell. Руководство разработчика. полностью

Метасимвол "$' предназначен для поиска слов или символов, находящихся в конце строки. Он указывается в конце шаблона. Предположим, требуется найти строки, заканчивающиеся словом "trouble". Эту задачу позволяет решить такой шаблон:

trouble$

Следующий шаблон соответствует пустой строке, не содержащей символов:

А с помощью показанного ниже шаблона можно найти строки, включающие только один символ:

7.4. Поиск символов, встречающихся неопределенное число раз, с помощью метасимвола '*'

Метасимвол '*' означает, что предыдущий символ в регулярном выражении либо отсутствует, либо встречается произвольное число раз подряд (1, 2 и т. д.). Например, шаблон

сотрu*t

отвечает таким словам:

computer

computing

compuuuuute

А шаблон

10133*

соответствует следующему:

101333

10133

10134

7.5. Поиск специальных символов с помощью метасимвола '\'

Ряд символов, попадая в состав регулярных выражений, приобретает специальное значение. В общем случае специальными являются следующие символы:

$ . ' " * [ ] ^ | ( ) \ + ? { }

Когда требуется найти строку, содержащую один из таких символов, его необходимо "защитить" в шаблоне с помощью обратной косой черты, которая отменяет специальное значение следующего за ней метасимвола. Предположим, строка содержит символ '.', который, как известно, в регулярном выражении соответствует произвольному символу. Вот шаблон для него:

\.

Если необходимо найти файлы, допустим, с расширением pas, можно применить следующий шаблон:

\*\.pas

7.6. Поиск символов, входящих в заданный набор или

диапазон

Шаблон [] соответствует списку или диапазону символов, указанных в квадратных скобках.

Символы в списке можно разделять запятыми. Это облегчает восприятие шаблона, хотя и не является обязательным требованием.

Для задания диапазона символов используется дефис (-). Слева от него указывается первый символ диапазона, а справа — последний. Предположим, необходимо найти символ, являющийся цифрой. Можно применить такой шаблон:

[0123456789]

Однако проще задать диапазон:

[0-9]

Следующий шаблон соответствует любой строчной букве:

[a‑z]

Чтобы найти любую букву произвольного регистра, воспользуйтесь шаблоном

[A‑Za‑z]

Здесь формируется список из двух диапазонов: прописные буквы от 'А' до 'Z' и строчные буквы от 'а' до 'z'.

Представленный ниже шаблон соответствует любому алфавитно–цифровому символу:

[A‑Za‑z0-9]

Далее показан шаблон, предназначенный для поиска трехсимвольных комбинаций следующего типа: в начале находится буква 's', за ней может следовать любая прописная или строчная буква, а завершает последовательность буква 't':

s[a‑zA‑Z]t

Если же комбинация состоит только из букв нижнего регистра, воспользуйтесь таким шаблоном:

s[a‑z]t

Чтобы найти слово "computer" независимо от того, расположено оно в начале предложения или нет, примените такой шаблон:

[Сс]omputer

Следующий шаблон соответствует слову "system", которое начинается с прописной или строчной буквы и за которым следует точка:

[S,s]ystem\.

Запятая в квадратных скобках поставлена для того, чтобы сделать шаблон удобным для зрительного восприятия.

Метасимвол '*', размещенный после квадратных скобок, указывает на то, что символы в скобках могут повторяться неопределенное число раз. Например, следующий шаблон соответствует любому слову:

[A‑Za~z]*

Метасимвол '^' после открывающей квадратной скобки — это признак того, что шаблон соответствует любым символам, кроме указанных в скобках. Так, шаблон

[^a‑zA‑Z]

соответствует всем символам, кроме букв, а шаблон отвечает всем символам, которые не являются числами.

7.7. Поиск символов, встречающихся заданное число раз

Метасимвол '*' позволяет находить символы, встречающиеся несколько раз подряд, но число повторений при этом не определяется. Если же необходимо в процессе поиска учитывать точное количество последовательных вхождений символа в строку, следует применить шаблон \{ \}. Существует четыре варианта этого шаблона:


шаблон\{n\}Соответствует шаблону, встречающемуся ровно n раз подряд
шаблон\(n,\}Соответствует шаблону, встречающемуся не менее n раз подряд
шаблон\{,m\}Соответствует шаблону, встречающемуся не более m раз подряд
шаблон\{n, m\}Соответствует шаблону, встречающемуся не менее n и не более m раз подряд, где n и m — целые числа из интервала от 0 до 255
Перейти на страницу:

Похожие книги

Библия БДСМ. Полное руководство
Библия БДСМ. Полное руководство

Первое исчерпывающее пособие по БДСМ. Уникальный иллюстрированный гид для тех, кому просто любопытно, и для тех, кто уже в Теме. В этой книге известные педагоги и профессионалы ответили на все важные вопросы и раскрыли все интересующие вас темы: основные принципы, ролевые игры, господство, подчинение, фистинг, садизм, мазохизм, связывание, физическое воздействие, тантра необычного секса и многое другое. Если вы хоть раз задумывались о БДСМ, значит, эта книга то, что вам нужно. Она способна обучить, вдохновить и бросить вызов даже опытным игрокам. Не бойтесь экспериментировать, и добро пожаловать в мир сексуальных приключений!

Литагент «5 редакция» , Тристан Таормино

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Руководства / Дом и досуг / Образовательная литература / Словари и Энциклопедии