Служба поддержки:
Реквизиты оплаты:





Голосование
Реклама от Google:
148 Часть II. Приложение идей
19.06.2012 02:52
|
[^Aab] означает любую литеру, отличную от литер А, а и Ь. Такое применение [^, означающее «ни одно из», пол- ностью отличается от предыдущего использования ^ для обозначения начала строки; [ ,;]* означает любую последовательность (включая пустую), составленную из пробелов и (или) запятых и (или) точек с запятой. Образцы, которыми вы пользуетесь при контекстном поиске, называются регулярными выражениями. (Термин, используемый в математическом анализе синтаксиса; этот термин не выдуман разработчиками редактора ed — иначе он имел бы более короткое имя). Необходимо помнить о следующих особенностях регулярных выражений: • первое знакомство начинающего с металитерами часто возникает тогда, когда он использует их случайно, и при этом происходят странные вещи. Так, он набирает /щи./, чтобы найти слог щи, за которым следует точка, и удивляется, когда редактор находит строку, содержащую вместо этого текст щим (Точка сопоставляется с любой литерой); • если вы действительно хотите, чтобы литера означала саму себя, можете набрать перед ней обратную косую черту, подобно тому как мы использовали обратную косую черту в оболочке. Так, приведенный выше образец /щи./ следовало записать в виде /щи\./; • регулярные выражения и металитеры используются в нескольких программах системы UNIX. Некоторые программы, например grep, используют такие же металитеры, как и редактор. Мы вскоре обсудим такое расширенное использование grep; • все регулярные выражения сопоставляются с текстом внутри текущей строки. Нельзя сопоставить образец с цепочкой, которая продолжается на нескольких строках; • регулярные выражения можно использовать не только при контекстном поиске, но и как образец в команде в. Примеры регулярных выражений Ниже мы приводим несколько примеров использования регулярных выражений. Пример 1 /[Оо]н/ находит следующее вхождение Он или он. Заметим, что редактор различает прописные и строчные буквы. Поэтому, если |