Синтаксис регулярных выражений
Регулярные выражения имеют синтаксис, в котором несколько символов являются специальными конструкциями, а остальные — обычными. Обычный символ — это простое регулярное выражение, которое соответствует этому символу и ничему другому. Специальные символы — ‘.’, ‘*’, ‘+’, ‘?’, ‘[’, ‘^’, ‘$’ и ‘\’; новые специальные символы в будущем определены не будут. Символ ‘]’ является специальным, если он завершает альтернативу символов (см. ниже). Символ ‘-’ является специальным внутри альтернативы символов. ‘[:’ и ‘:]’ заключают в себе класс символов внутри альтернативы символов. Любой другой символ, встречающийся в регулярном выражении, является обычным, если перед ним не стоит ‘\’.
Например, ‘f’ — это не специальный символ, поэтому он является обычным, и, следовательно, ‘f’ — это регулярное выражение, которое соответствует строке ‘f’ и никакой другой строке. (Он не соответствует строке ‘fg’, но соответствует части этой строки.) Аналогично, ‘o’ — это регулярное выражение, которое соответствует только ‘o’.
Любые два регулярных выражения a и b могут быть конкатенированы. Результатом является регулярное выражение, которое соответствует строке, если a соответствует некоторой части начала этой строки, а b соответствует остальной части строки.
В качестве простого примера, мы можем конкатенировать регулярные выражения ‘f’ и ‘o’, чтобы получить регулярное выражение ‘fo’, которое соответствует только строке ‘fo’. Всё ещё тривиально. Чтобы сделать что-то более мощное, вам нужно использовать одну из специальных конструкций регулярных выражений.
| • Специальные символы регулярных выражений | Специальные символы в регулярных выражениях. | |
| • Классы символов | Классы символов, используемые в регулярных выражениях. | |
| • Обратный слэш в регулярных выражениях | Последовательности обратного слэша в регулярных выражениях. |
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Syntax-of-Regexps.html