Представление символов в регулярных выражениях

Представление символов в регулярных выражениях

Содержание

Представление символов по их коду

В некоторых случаях предпочтительно представление символов по их коду.

Представление Пояснение Кодировка
\0n n — восьмеричное число от 0 до 377 8-битная
\xdd d — шестнадцатеричная цифра
\udddd 16-битная (Юникод)

Управляющие символы

Представление Символ Обозначение Расшифровка
\t Табуляция HT Horizontal tabulation
\v Вертикальная табуляция VT Vertical tabulation
\r Возврат каретки CR Carriage return
\n Перевод строки LF Line feed
\f Конец страницы FF Form feed
\a Звонок BEL Bell character
\e Escape-символ ESC Escape character
\b Забой

Должен находиться внутри квадратных скобок (иначе интерпретируется как граница слова).

BS Backspace
\cA\cZ Ctrl+A … Ctrl+Z

Например, последовательность \cM\cJ соответствует управляющим символам CR LF.

Эквивалентно \x01\x1A.

Сокращённые обозначения символьных классов

Для часто используемых символьных классов существуют краткие обозначения.

Представление Эквивалент Значение
\d [0-9] Цифра
\D [^\d] Любой символ, кроме цифры
\w [A-Za-zА-Яа-я0-9_] Символы, образующие «слово» (буквы, цифры и символ подчёркивания)[1]
\W [^\w] Символы, не образующие «слово»
\s [ \t\v\r\n\f] Пробельный символ
\S [^\s] Непробельный символ

Символьные классы POSIX

Многие диапазоны символов зависят от выбранных настроек локализации. POSIX стандартизовал объявление некоторых классов и категорий символов, как показано в следующей таблице.

POSIX-класс Эквивалент Значение
[:upper:] [A-Z] Символы верхнего регистра
[:lower:] [a-z] Символы нижнего регистра
[:alpha:] [[:upper:][:lower:]] Буквы
[:digit:] [0-9], т. е. \d Цифры
[:xdigit:] [[:digit:]A-Fa-f] Шестнадцатеричные цифры
[:alnum:] [[:alpha:][:digit:]] Буквы и цифры
[:word:] [[:alnum:]_], т. е. \w Символы, образующие «слово»
[:punct:] [-!"#$%&'()*+,./:;<=>?@[\\\]_`{|}~] Знаки пунктуации
[:blank:] [ \t] Пробел и табуляция
[:space:] [[:blank:]\v\r\n\f], т. е. \s Пробельные символы
[:cntrl:] [\x00-\x1F\x7F] Управляющие символы
[:graph:] [\x21-\x7E] Печатные символы
[:print:] [\x20-\x7E], т. е. [[:graph:] ] Печатные символы с пробелом

Использование класса возможно лишь внутри квадратных скобок (пример частой ошибки — ^[:upper:]il+$ вместо ^[[:upper:]]il+$).

Примечания

  1. Указанный эквивалент неполон, так как в диапазон входят все буквы всех языков.

См. также

Литература

  • Фридл, Дж. Регулярные выражения. — СПб.: «Питер», 2001. — 352 с. — (Библиотека программиста). — ISBN 5-318-00056-8
  • Смит, Билл. Методы и алгоритмы вычислений на строках (regexp) = Computing Patterns in Strings. — М.: «Вильямс», 2006. — 496 с. — ISBN 0-201-39839-7
  • Форта, Бен. Освой самостоятельно регулярные выражения. 10 минут на урок = Sams Teach Yourself Regular Expressions in 10 Minutes. — М.: «Вильямс», 2004. — 192 с. — ISBN 0-672-32566-7

Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Представление символов в регулярных выражениях" в других словарях:

  • Регулярные выражения — (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы)  это формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов (символов джокеров,… …   Википедия

  • Регексп — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регексы — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регеспы — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регулярки — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регулярное выражение — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регэкс — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регэксп — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регэкспы — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регэксы — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»