Искусство программирования на языке сценариев командной оболочки


Программирование на языке сценариев командной оболочки - стр. 221


33.6. Оптимизация

33.7. Разные советы

33.8. Проблемы безопасности

33.9. Проблемы переносимости

33.10. Сценарии командной оболочки под Windows

34. Bash, версия 2

Глава 18. Регулярные выражения

Для того, чтобы полностью реализовать потенциал командной оболочки, вам придется овладеть Регулярными Выражениями. Многие команды и утилиты, обычно используемые в сценариях, такие как grep, expr, sed и awk, используют Регулярные Выражения.

18.1. Краткое введение в регулярные выражения

Выражение -- это строка символов. Символы, которые имеют особое назначение, называются метасимволами. Так, например, кавычки могут выделять прямую речь, т.е. быть метасимволами для строки, заключенной в эти кавычки. Регулярные выражения -- это набор символов и/или метасимволов, которые наделены особыми свойствами. [46]

Основное назначение регулярных выражений -- это поиск текста по шаблону и работа со строками.

  • Звездочка -- * -- означает любое количество символов в строке, предшествующих "звездочке", в том числе и нулевое число символов.

    Выражение "1133*" -- означает 11 + один или более символов "3" + любые другие символы: 113, 1133, 113312, и так далее.

  • Точка -- . -- означает не менее одного любого символа, за исключением символа перевода строки (\n). [47]

    Выражение "13." будет означать 13 + по меньшей мере один любой символ (включая пробел): 1133, 11333, но не 13 (отсутствуют дополнительные символы).

  • Символ -- ^ -- означает начало строки, но иногда, в зависимости от контекста, означает отрицание в регулярных выражениях.

  • Знак доллара -- $ -- в конце регулярного выражения соответствует концу строки.

    Выражение "^$" соответствует пустой строке.

    Символы ^ и $ иногда еще называют якорями, поскольку они означают, или закрепляют, позицию в регулярных выражениях.

  • Квадратные скобки -- [...] -- предназначены для задания подмножества символов. Квадратные скобки, внутри регулярного выражения, считаются одним символом, который может принимать значения, перечисленные внутри этих скобок..




    - Начало -  - Назад -  - Вперед -