Интернет магазин китайских планшетных компьютеров



Компьютеры - Регулярные выражения - Разновидности регулярных выражений

22 января 2011


Оглавление:
1. Регулярные выражения
2. История
3. В теории формальных языков
4. Синтаксис
5. Разновидности регулярных выражений
6. Нечёткие регулярные выражения
7. Реализации



Базовые регулярные выражения POSIX

. Традиционные регулярные выражения UNIX. Синтаксис базовых регулярных выражений на данный момент определён POSIX как устаревший, но он до сих пор широко распространён из соображений обратной совместимости. Многие UNIX-утилиты используют такие регулярные выражения по умолчанию.

В данную версию включены метасимволы:

  • .
  • ^
  • $
  • *
  • \{ \} — первоначальный вариант для { }
  • \ — первоначальный вариант для
  • \n, где n — номер от 1 до 9

Особенности:

  • Звёздочка должна следовать после выражения, соответствующего единичному символу. Пример: *.
  • Выражение \* следует считать неправильным. В некоторых случаях оно соответствует нулю или более повторений строки блок. В других оно соответствует строке блок*.
  • Внутри символьного класса специальные значения символов, в основном, игнорируются. Особые случаи:
    • Чтобы добавить символ ^ в набор, его следует поместить туда не первым.
    • Чтобы добавить символ - в набор, его следует поместить туда первым или последним. Например:
      • шаблон DNS-имени, куда могут входить буквы, цифры, минус и точка-разделитель: ;
      • любой символ, кроме минуса и цифры: .
    • Чтобы добавить символ в набор, его следует поместить туда первым. Например:
      • соответствует ], [, a или b.

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

. Синтаксис в основном аналогичен традиционному.

  • Отменено использование обратной косой черты для метасимволов { } и .
  • Обратная косая черта перед метасимволом отменяет его специальное значение.
  • Отвергнута теоретически нерегулярная конструкция \n.
  • Добавлены метасимволы +, ?, |.

Регулярные выражения, совместимые с Perl

Perl-совместимые регулярные выражения) имеют более богатый и в то же время предсказуемый синтаксис, чем даже POSIX ERE. По этой причине очень многие приложения используют именно Perl-совместимый синтаксис регулярных выражений.



Просмотров: 6840


<<< Представление символов в регулярных выражениях
Символы-джокеры >>>