Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

POSIX Basic Vs. Расширенные регулярные выражения

Когда мы подумали, что это больше не сбивает с толку, мы обнаружили, что POSIX также разделяет реализации регулярных выражений на два типа: основные регулярные выражения (BRE) и расширенные регулярные выражения (ERE). Функции, которые мы рассмотрели до сих пор, поддерживаются любым приложением, совместимым с POSIX и реализующим BRE. Наш GREP программа - одна из таких программ.

В чем разница между BRE и ERE? Все дело в метасимволах. В BRE распознаются следующие метасимволы:

^ $. [] *

Все остальные символы считаются литералами. В ERE добавляются следующие метасимволы (и связанные с ними функции):

() {}? + |

Однако (и это интересная часть) символы «(», «)», «{» и «}» рассматриваются как метасимволы в BRE. if они экранируются обратной косой чертой, тогда как с ERE предшествование метасимволу обратной косой черты приводит к тому, что он рассматривается как литерал. Любые возникающие странности будут рассмотрены в последующих обсуждениях.

изображение

Поскольку функции, которые мы собираемся обсудить дальше, являются частью ERE, нам нужно будет использовать другой GREP. Традиционно это выполняли задать расширенное программа, но версия GNU GREP также поддерживает расширенные регулярные выражения, когда -E опция используется.


POSIX

В 1980-х годах Unix стала очень популярной коммерческой операционной системой, но к 1988 году мир Unix был в смятении. Многие производители компьютеров лицензировали исходный код Unix у его создателей, AT&T, и поставляли различные версии операционной системы вместе со своими системами. Однако в своих усилиях по дифференциации продукта каждый производитель вносил собственные изменения и расширения. Это начало ограничивать совместимость программного обеспечения. Как всегда с

изображение

POSIX Basic Vs. Расширенные регулярные выражения


проприетарные поставщики, каждый из них пытался играть со своими покупателями в выигрышную игру «запереться». Это темное время в истории Unix известно сегодня как «балканизация".

Введите IEEE (Институт инженеров по электротехнике и радиоэлектронике). В середине 1980-х годов IEEE начал разработку набора стандартов, которые определяли бы работу Unix (и Unix-подобных) систем. Эти стандарты, официально известные как IEEE 1003, определяют интерфейсы прикладного программирования (API), оболочка и утилиты, которые можно найти в стандартной Unix-подобной системе. Название «POSIX», что означает Портативный интерфейс операционной системы (с добавлением X в конце для дополнительной резкости), был предложен Ричардом Столлманом (да, который Ричард Столмен) и был принят IEEE.


Лучшие облачные вычисления для ОС в OnWorks: