'sdt' или 'set', но не 'sxt', 'syt' или 'szt' | |
's[^x0-9]t' | s, за которым следует любой символ, кроме x или символа в диапазоне 0-9, за которым следует t, т.е. 'slt' или 'smt', но не 'sxt', 's0t' или 's4t' |
'^x” | x в начале строки, т.е. 'xzy' или 'xzzy', но не 'yzy' или 'уху' |
'x$' | х в конце строки, т.е. 'yzx' или 'yx', но не 'yxz' или 'zxy' |
Существует большое количество второстепенных вариантов записи регулярных выражений.
1. * — соответствует любой последовательности символов (как .* в других вариантах); ? — соответствует любому единичному символу (как . в других вариантах); [...] — соответствует классу символов как в других вариантах. В некоторых оболочках ({} для выбора подстроки. Таким образом, выражение x{a,b}c соответствует строкам xac или xbc, но не xc. В некоторых оболочках выражения- маски получили дальнейшее развитие в направлении расширения регулярных выражений.
2.
3.
4.
После рассмотрения основных примеров в таблице 8.2 приведена сводка стандартных шаблонов для регулярных выражений. Следует отметить, что в таблицу не включен вариант выражений-масок, поэтому запись 'для всех' означает только 3 типа: базовый, расширенный/Emacs и Perl/Python[79].
Таблица 8.2. Введение в операции с регулярными выражениями
| Символ-шаблон | Поддерживается | Соответствующая строка |
|---|---|---|
| во всех | Начало escape-последовательности. Определяет, следует ли интерпретировать последующий знак как шаблон. Последующие буквы или цифры интерпретируются различными способами в зависимости от программы |
. | во всех | Любой символ |
^ | во всех | Начало строки |
$ | во всех | Конец строки |
[...] | во всех | Любой из символов, указанных в скобках |
[^...] | во всех | Любые символы, |
* | во всех | Любое количество экземпляров предыдущего элемента |
? | egrep/Emacs, Perl/Python | Ни одного или один экземпляр предыдущего элемента |
