О метасимволах

Конечно, если бы шаблоны могли совпадать только со строковыми литералами, пользы от них было бы немного. Специальные символы, называемые метасимволами, имеют особый смысл в регулярных выражениях. Например, точка (.) обозначает один произвольный символ, кроме символа новой строки (который представляется последовательностью "\n"). Таким образом, шаблон /bet.y/ совпадет с betty, а также с betsy, bet=y, bet.y и вообще любой строкой, которая начинается с bet, содержит любой один символ (кроме символа новой строки) с последующим символом y. Однако с bety или betsey он не совпадет, потому что t и y в этих строках не разделяются ровно одним символом. Точка всегда совпадает с одним символом, не более и не менее.

Итак, при поиске совпадения для литеральной точки в строке можно использовать точку. Но в этом случае совпадение будет найдено для любого возможного символа (кроме новой строки), а это может оказаться излишним. Если вы хотите, чтобы точка в шаблоне совпадала только с литеральной точкой, поставьте перед ней обратную косую черту. Собственно, это правило справедливо для всех метасимволов регулярных выражений Perl: обратная косая черта перед любым метасимволом отменяет его специальную интерпретацию. Таким образом, шаблон /3\.14159/ не содержит специальных символов. Итак, обратная косая черта – наш второй метасимвол. Если вам нужно включить в шаблон литеральный символ \, просто поставьте два таких символа подряд – это универсальное правило в Perl.
Теги:
регулярные выражения
Добавлено: 20 Июля 2018 19:14:29 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...