Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы СПО / РегЭкспы методичка.docx
Скачиваний:
65
Добавлен:
12.04.2015
Размер:
254.09 Кб
Скачать

Последовательности метасимволов

Последова-тельность

метасимволов

Интерпретация

\A

начало текста

\Z

конец текста

\xnn

символ с шестнадцатеричным кодом nn

\x{nnnn}

символ с шестнадцатеричным кодом nnnn (более одного байта можно задавать только в режиме Unicode)

\t

табуляция (TAB), можно также \x09

\n

переход на новую строку (NL), можно также \x0a

\r

возврат каретки (CR), можно также \x0d

\f

перевод формата, можно также \x0c

\a

звонок (BEL), можно также \x07

\e

escape (ESC), можно также \x1b

\d

цифровой символ [0-9]

\D

все символы, кроме цифр 0-9, т.е. класс [^0-9]

\w

буквенно-цифровой символ [a-zA-Z_0-9]

\W

все символы, кроме буквенно-цифровых,

т.е класс [^a-zA-Z_0-9]

\s

любой пробельный символ [пробел, \t\n\r\f]

\S

все символы, кроме пробельных [^\x20\t\n\r\f]

Примеры:

  • Шаблон ‘\d+’ описывает последовательность одной и более цифр (целое число).

  • Шаблон ‘–?\d+\.\d+’ описывает вещественное число с необязательным знаком минус впереди. Целая и дробная части разделяются точкой. ■

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

Символьный класс – это конечный набор (множество) символов. Класс записывается в квадратных скобках [ ] и содержит перечисление символов, каждый из которых можно подставить в строку в этом месте. Например, класс [abcd] означает выбор любой из букв a|b|c|d. Конструкция 'б[аи]ржа' соответствует словам «баржа» и «биржа». При задании классов можно использовать – (дефис) для указания диапазонов символов. Пробелы (для красоты) в символьных классах не ставятся, т.к. пробел означает сам себя.

Примеры символьных классов:

[абвгде]    // простое перечисление символов

[а-яА-Я]   // все русские буквы, большие и маленькие

[0-9a-z]    // цифры и строчная латиница

[\x0a-\x0d] // символы с кодами #10, #11, #12, #13.

Если необходимо включить в перечень сам символ "–'', нужно поместить его в начало или конец перечня или экранировать знаком '\'. Если необходимо поместить в перечень символ ']', то его следует поместить в самое начало или экранировать '\'.

Примеры:

[-az] или [az-] или [a\-z] // символы '-', 'a', 'z'

[a-z] // все малые латинские буквы от ‘а’ до ‘z’.

[]-a] или [\]-a] // символы от скобки ']' до буквы 'a'.

Кстати, метасимволы \d, \w, \s из таблицы 2 обозначают стандартные символьные классы.

При задании символьных классов можно указать символы, которых не должно быть в найденной подстроке. Для этого первым символом (сразу после "['') должен быть ^ а после него пишутся запрещенные символы. Так, '[^1-6]' находит все символы (из 256 возможных с кодами 0 … 255), кроме символов цифр от “1” до “6”.

Примеры:

  • Шаблон ‘ [а-яА-Я]+’  задает последовательность русских букв.

  • Шаблон ‘_?[a-zA-Z][_0-9a-zA-Z]*’ анализирует «правильный» идентификатор языка программирования (он начинается с подчеркивания или латинской буквы, за которыми идет последовательность буквенно-цифровых символов или подчеркиваний.

  • Шаблон ‘«[^»]*»’ находит строку символов в кавычках «». ■

Соседние файлы в папке Лабы СПО