Метасимвол - Metacharacter
В ведущий раздел этой статьи может потребоваться переписать. Приводится следующая причина: определение и наводка касаются только метасимволов регулярного выражения, но статья неАпрель 2019) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
А метасимвол - символ, имеющий особое значение для компьютерной программы, например интерпретатор оболочки или регулярное выражение (регулярное выражение) движок.
В Расширенные регулярные выражения POSIX,[1] есть 14 метасимволов, которые должны быть сбежал (перед ним стоит обратная косая черта (\
)), чтобы отбросить их особое значение и трактоваться буквально внутри выражения: открытие и закрытие квадратных скобках ([
и ]
); обратная косая черта (\
); каретка (^
); знак доллара ($
); период/полная остановка / точка (.
); вертикальная полоса / символ трубы (|
); вопросительный знак (?
); звездочка (*
); знак плюс (+
и -
); открытие и закрытие фигурные скобки / фигурные скобки ({
и }
); и открытие и закрытие скобки ((
и )
).[2][3]
Например, чтобы соответствовать арифметическому выражению (1+1)*3=6
с регулярным выражением правильное регулярное выражение \(1\+1\)\*3=6
; в противном случае круглые скобки, знак плюса и звездочка будут иметь особое значение.
Другие примеры
Некоторые другие символы могут иметь особое значение в некоторых средах.
- В некоторых Оболочки Unix то точка с запятой (";") это разделитель операторов.
- В XML и HTML, то амперсанд ("&") вводит HTML-объект.[4] Это также имеет особое значение в MS-DOS /Командная строка Windows.[5]
- В некоторых оболочках Unix и командной строке MS-DOS / Windows знак меньше и знак больше ("<" и ">") используются для перенаправление и серьезный акцент / backquote ("") используется для подстановка команд.[5]
- Во многих языки программирования, струны находятся ограниченный с помощью цитаты ("или"). В некоторых случаях escape-символы (и другие методы) используются, чтобы избежать коллизия разделителей, например «Он сказал: " Здравствуйте "».
- В строки формата printf, то знак процента ("%") используется для введения спецификаторов формата и должно быть экранировано как "%%", чтобы интерпретироваться буквально.[6] В SQL, процент используется как подстановочный знак.[7]
- В SQL подчеркивать ("_") используется для соответствия любому одиночному символу.[7]
Побег
Термин «избежать метасимвола» означает сделать метасимвол неэффективным (лишить его особого значения), заставив его иметь буквальное значение. Например, в PCRE точка (".") обозначает любой отдельный символ. Регулярное выражение «A.C» будет соответствовать «ABC», «A3C» или даже «A C». Однако если "." экранирован, он потеряет свое значение как метасимвол и будет интерпретироваться буквально как «.», в результате чего регулярное выражение «A .C» будет соответствовать только строке «A.C».
Обычный способ экранировать символ в регулярном выражении и в других местах - это поставить перед ним обратную косую черту (""). В других средах могут использоваться другие методы, такие как командная строка MS-DOS / Windows, где вместо нее используется каретка («^»).[5]
Смотрите также
Рекомендации
- ^ "Базовые спецификации Open Group, выпуск 6: Глава 9 - Регулярные выражения". pubs.opengroup.org. Открытая группа. 2004. Получено 2018-11-19.
- ^ Гойвертс, янв (8 декабря 2016 г.). "Быстрое начало работы с регулярными выражениями". www.regular-expressions.info. Получено 2018-11-19.
- ^ Нилд, Томас (13 декабря 2017 г.). «Введение в регулярные выражения». O'Reilly Media. Получено 2018-11-19.
- ^ «Ссылки на символьные сущности в HTML 4». www.w3.org. W3C. 24 декабря 1999 г.. Получено 2018-11-19.
- ^ а б c «Обзор командной оболочки». docs.microsoft.com. Microsoft. 10 сентября 2009 г.. Получено 2018-11-19.
- ^ "Базовые спецификации Open Group, выпуск 7: fprintf". pubs.opengroup.org. Открытая группа. 2018. Получено 2018-11-19.
- ^ а б "LIKE (Transact-SQL)". docs.microsoft.com. Microsoft. 14 марта 2017 г.. Получено 2018-11-19.
Этот язык программирования -связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |