Метасимвол |
Описание |
Пример |
^ |
Циркумфлекс, крышка. Обозначает начало строки. |
^text Совпадает, если строка начинается с ‘text’, например text или text1234abcd |
$ |
Доллар. Обозначает конец строки |
text$ Совпадает, если строка заканчивается ‘text’, например text или 1234abcdtext |
^text$ Совпадает только с ‘text’ |
\< |
Граница слова позиция в начале слова |
|
/> |
Граница слова позиция в конце слова |
|
[…] |
Символьный класс (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\> — выражение ищет повторяющиеся слова. |
Экранирование |
\ |
Для поиска символа, который интерпретируется как метасимвол. |
\. — совпадает с . Такая последовательность называется «экранированной точкой». Экранирование может выполняться со всеми стандартными метасимволами. |