Раздел лида статьи, возможно, необходимо переписать . Причина такова: определение и лид касаются только метасимволов регулярных выражений, а статья — нет. ( Апрель 2019 ) |
Метасимвол — это символ , имеющий особое значение для компьютерной программы, например, интерпретатора оболочки или механизма регулярных выражений (regex).
В расширенных регулярных выражениях POSIX есть 14 метасимволов, которые необходимо экранировать (предваряя их обратной косой чертой ( \
)), чтобы исключить их особое значение и интерпретировать их внутри выражения буквально: открывающиеся и закрывающиеся квадратные скобки ( [
и ]
); обратная косая черта ( \
); знак вставки ( ) ^
; знак доллара ( $
); точка/точка ( .
); вертикальная черта/вертикальная черта ( |
); вопросительный знак ( ?
); звездочка ( *
); знаки плюс и минус ( +
и -
); открывающиеся и закрывающиеся фигурные скобки ( {
и }
); открывающиеся и закрывающиеся круглые скобки ( (
и )
).
Например, чтобы сопоставить арифметическое выражение (1+1)*3=6
с регулярным выражением, правильным регулярным выражением будет \(1\+1\)\*3=6
; в противном случае скобки, знак «плюс» и звездочка будут иметь особое значение.
Некоторые другие символы могут иметь особое значение в определенных условиях.
Термин «экранировать метасимвол» означает сделать метасимвол неэффективным (лишить его специального значения), в результате чего он будет иметь буквальное значение. Например, в PCRE точка (".") обозначает любой одиночный символ. Регулярное выражение "AC" будет соответствовать "ABC", "A3C" или даже "A C". Однако если "." экранировать, он потеряет свое значение как метасимвол и будет интерпретироваться буквально как ".", в результате чего регулярное выражение "A\.C" будет соответствовать только строке "AC".
Обычный способ экранирования символа в регулярном выражении и в других местах — добавление к нему префикса в виде обратной косой черты ("\"). В других средах могут использоваться другие методы, например, в командной строке MS-DOS/Windows, где вместо этого используется символ вставки ("^"). [2]