Метасимволы

\

Показывает, что следующий символ является спецсимволом. Последовательность "\\" соответствует "\", а последовательность "\(" соответствует "(".

^

Определяет начало входной строки. Если установлено свойство Multiline, определяет также позицию сразу после "\n" (новая строка) и "\r" (возврат каретки).

$

Определяет конец входной строки. Если установлено свойство Multiline, определяет также позицию непосредственно перед "\n" (новая строка) и "\r" (возврат каретки).

*

Определяет ни одного или несколько символов, стоящих перед ним. Эквивалентно {0,}.

+

Определяет один или несколько символов, стоящих перед ним. Эквивалентно {1,}.

?

Определяет ни одного или один символ, стоящий перед ним. Эквивалентно {0,1}. Если этот метасимвол идёт непосредственно за конструкциями (*, +, ?, {n}, {n,}, {n,m}), это приводит к некоторому изменению алгоритма поиска по заданному шаблону, что проиллюстрировано примером ниже.

{n}

Определяет точное количество символов, стоящих перед ним. "n" - неотрицательное целое число.

{n,}

Определяет минимальное количество символов, стоящих перед ним. "n" - неотрицательное целое число. "{0,}" эквивалентно "*", а "{1,}" эквивалентно "+".

{n,m}

Определяет количество символов, стоящих перед ним (от - до). "n" и "m" - неотрицательные целые числа, причём n <= m. "{0,1}" эквивалентно "?".

.

Определяет любой символ, кроме "\n" (новая строка). Чтобы определить любой символ, включая "\n", следует использовать "[\s\S]".

(шаблон)

Фиксирует подбор по шаблону в коллекции SubMatces. Чтобы определить символы "(" и ")", следует использовать "\(" и "\)".

(?:шаблон)

Полезно для комбинирования частей шаблона с помощью символа "|" ("или"). Например, "госпо(?:дин|жа)" короче, чем "господин|госпожа". НЕ фиксирует подбор в коллекции SubMatces.

(?=шаблон)

"Windows(?=95|98)" подберёт подстроку "Windows" в строке "Windows95", но не в строке "WindowsNT". Дальнейший подбор начинается немедленно, а не после символов, входящих в скобки. НЕ фиксирует подбор в коллекции SubMatces.

(?!шаблон)

"Windows(?!95|98)" подберёт подстроку "Windows" в строке "WindowsNT", но не в строке "Windows95". В остальном - полностью аналогично "(?=шаблон)".

x|y

Условие "или". "вз|перевод" подберёт "вз" и "перевод". "(вз|переод" подберёт "взвод" и "перевод".

[abc]

Набор символов. Находит любой из указанных символов.

[^abc]

Исключающий набор символов. Находит любой из неуказанных символов.

[a-z]

Диапазон символов. Находит любой символ из диапазона.

[^a-z]

Исключающий диапазон символов. Находит любой символ, не входящий в диапазон.

\b \B

\b - Граница слова, т.е. позиция между концом слова и пробелом.
\B - НЕ граница слова.

\d \D

\d - цифра. Эквивалентно [0-9].
\D - НЕ цифра. Эквивалентно
[^0-9].

\w \W

\w - любой символ слова, включая символ подчёркивания. Эквивалентно [A-Za-z0-9_].
\W - обратно "\w". Эквивалентно
[^A-Za-z0-9_].

\s \S

\s - пробельный символ. Эквивалентно [\f\n\r\t\v].
\S - непробельный символ. Эквивалентно [^\f\n\r\t\v].

\cx

Управляющий символ. Параметр "х" лежит в диапазоне A-Z или a-z. Например, "\cM" определяет Control-M или символ возврата каретки, "\cJ" - новая строка, "\cL" - новая страница, "\cI" - символ табуляции, "\cK" - символ вертикальной табуляции.

\f

Символ новой страницы. Эквивалент "\x0c" и "\cL".

\n

Символ новой строки. Эквивалент "\x0a" и "\cJ".

\r

Символ возврата каретки. Эквивалент "\x0d" и "\cM".

\t

Символ табуляции. Эквивалент "\x09" и "\cI".

\v

Символ вертикальной табуляции. Эквивалент "\x0b" и "\cK".

\xn

Шестнадцатеричный ASCII-код символа. Должен содержать ровно два символа.

\num

Ссылка на предыдущие зафиксированные (найденные) подстроки-соответствия шаблону (SubMatches). "num" - положительное целое число, номер соответствия в коллекции SubMatches; отсчёт с единицы. Например, "(.)\1" определяет два идентичных символа, следующих друг за другом.

\un

Определяет Unicode-символ по его шестнадцатеричному коду. "n" - четырёхзначный шестнадцатеричный код.