Метасимвол

редактировать

Метасимвол это символ, который имеет особое значение для компьютерной программы, таких как интерпретатор оболочки или регулярное выражение (регулярное выражение) двигатель.

В расширенных регулярных выражениях POSIX есть 14 метасимволов, которые необходимо экранировать (им предшествует обратная косая черта ( \)), чтобы избавиться от их особого значения и обрабатывать их буквально внутри выражения: открывающие и закрывающие квадратные скобки ( [и ]); обратная косая черта ( \); каретка ( ^); знак доллара ( $); период / точка / точка ( .); символ вертикальной черты / трубы ( |); вопросительный знак ( ?); звездочка ( *); знаки плюс и минус ( +и -); открывающие и закрывающие фигурные скобки / фигурные скобки ( {и }); открывающие и закрывающие круглые скобки ( (и )).

Например, чтобы соответствовать арифметическое выражение (1+1)*3=6с регулярным выражением, правильное регулярное выражение \(1\+1\)\*3=6; в противном случае круглые скобки, знак плюса и звездочка будут иметь особое значение.

СОДЕРЖАНИЕ
  • 1 Другие примеры
  • 2 Побег
  • 3 См. Также
  • 4 ссылки
Другие примеры

Некоторые другие символы могут иметь особое значение в некоторых средах.

Побег
Основная статья: Побег персонажа

Термин «избежать метасимвола» означает сделать метасимвол неэффективным (лишить его особого значения), придав ему буквальное значение. Например, в PCRE точка (".") Обозначает любой отдельный символ. Регулярное выражение «AC» будет соответствовать «ABC», «A3C» или даже «A C». Однако если "." экранирован, он потеряет свое значение как метасимвол и будет интерпретироваться буквально как «.», в результате чего регулярное выражение «A \.C» будет соответствовать только строке «AC».

Обычный способ экранировать символ в регулярном выражении и где-либо еще - это поставить перед ним обратную косую черту ("\"). В других средах могут использоваться другие методы, такие как командная строка MS-DOS / Windows, где вместо нее используется каретка («^»).

Смотрите также
Рекомендации
  • v
  • т
  • е
Последняя правка сделана 2024-01-02 08:23:41
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте