Метасимволы регулярных выражений
Метасимвол | Описание | Пример | |
^ | Циркумфлекс, крышка. Обозначает начало строки. | ^text Совпадает, если строка начинается с ‘text’, например text или text1234abcd | |
$ | Доллар. Обозначает конец строки | text$ Совпадает, если строка заканчивается ‘text’, например text или 1234abcdtext | |
\< | Граница слова позиция в начале слова | ||
/> | Граница слова позиция в конце слова | ||
[…] | Символьный класс (character class). Используется, когда необходимо перечислить символы, которые могут находится в данной позиции текста | m[ae]n Соответствует ‘man’ и ‘men’ | |
Символьный класс может содержать интервалы, класс [0123456789abcdABCD] записывают в виде [0-9a-dA-D]. Интервалы можно объединять с литералами: выражение [0-9A-D_!.?] совпадает с цифрой, символами A,B,C,D, подчеркиванием, точкой и вопросительным знаком. | |||
[^…] | Инвертированный символьный класс | [^1-6] совпадает с символами, не принадлежащими интервалу 1-6. Префикс ^ инвертирует список | . | Совпадает с одним произвольным символом |
| | Одно из нескольких выражений | Bob|Robert — одно выражение, совпадающее с любой из этих строк. Bob|Rober|Ivan|Denis | |
(…) | Ограничение действия | ||
? | Метасимвол ? означает, что предшествующий ему символ является необязательным. Он помещается сразу же вслед за символом, который может появиться в этом месте в выражении, но его отсутствие не должно влиять на успешный результат поиска. | Слова color и colour отличаются только только символом u, для их поиска можно использовать выражение colou?r | |
+ | Метасимвол + обозначает один или несколько экземпляров непосредственно предшествующего элемента | ||
* | Метасимвол * обозначает любое количество экземпляров элемента (в том числе и нулевое). Иначе говоря, «найти столько экземпляров, сколько это возможно, но при необходимости обойтись и без них». | ||
{min,max} | Метапоследовательность для явного определения минимального и максимального количества совпадений. Эта конструкция называется Интервальным квантификатором. | [a-zA-Z]{1,5} совпадает с одной, двумя, тремя, четырьмя и пятью буквами. Запись {0,1} эквивалентна метасимволу ?. | |
{n} | N совпадений | ||
{n,} | N и больше совпадения | ||
(…) | Обратные ссылки позволяют искать новый текст, который совпадает с другим текстом, совпавшим с предшествующей частью выражения, причем на момент написания выражения этот текст неизвестен. | \<([a-zA-Z]+) +\1\> — выражение ищет повторяющиеся слова. | |
\ | Для поиска символа, который интерпретируется как метасимвол. | \. — совпадает с . Такая последовательность называется «экранированной точкой». Экранирование может выполняться со всеми стандартными метасимволами. |