Самым простым регулярным выражением является такое выражение, последовательность символов которого соответствует последовательности, указанной в следующем примере:
var pattern:RegExp = /hello/;
Однако следующие символы, известные как метасимволы
,
, имеют в регулярных выражениях особое значение:
^ $ \ . * + ? ( ) [ ] { } |
Например, следующее регулярное выражение соответствует букве А, за которой следует нуль или несколько экземпляров буквы B (метасимвол звездочки обозначает это повторение), за которыми, в свою очередь, идет буква C:
/AB*C/
Чтобы в образец регулярного выражения добавить метасимвол без его особого значения, необходимо использовать символ перехода
\
обратной косой черты. Например, следующее регулярное выражение соответствует букве А, за которой следует буква B, за которой идет звездочка, за которой, в свою очередь, идет буква C:
var pattern:RegExp = /AB\*C/;
Метапоследовательность
, как и метасимвол, имеет в регулярном выражении особое значение. Метапоследовательность состоит из более чем одного символа. В следующих разделах подробно описывается использование метасимволов и метапоследовательностей.
О метасимволах
В следующей таблице собраны метасимволы, которые могут быть использованы в регулярных выражениях.
Метасимвол
|
Описание
|
^
(знак вставки)
|
Соответствует началу строки. Вместе с установленным флагом
m
(
multiline
) знак вставки также соответствует началу строки (см. раздел
Флаги и свойства
). Обратите внимание, что знак вставки при использовании в начале класса символов обозначает отрицание, а не начало строки. Дополнительные сведения см. в разделе «
Классы символов
».
|
$
(знак доллара)
|
Соответствует концу строки. Вместе с установленным флагом
m
(
multiline
) знак
$
также соответствует положению перед символом (
\n
) новой строки. Дополнительные сведения см. в разделе «
Флаги и свойства
».
|
\
(обратная косая черта)
|
Обозначает переход от особого значения метасимвола особых символов.
Символ обратной косой черты также применяется, если в литерале регулярного выражения нужно использовать символ прямой косой черты, как показано далее
/1\/2/
(чтобы соответствовать символу 1, за которым следует символ прямой косой черты, за которым идет символ 2).
|
.
(точка)
|
Соответствует любому одиночному символу.
Точка соответствует символу новой строки (
\n
), только если установлен флаг
s
(
dotall
). Дополнительные сведения см. в разделе «
Флаги и свойства
».
|
*
(звезда)
|
Соответствует предыдущему элементу, повторяющемуся нуль или более раз.
Дополнительные сведения см. в разделе «
Квантификаторы
».
|
+
(плюс)
|
Соответствует предыдущему элементу, повторяющемуся один или более раз.
Дополнительные сведения см. в разделе «
Квантификаторы
».
|
?
(знак вопроса)
|
Соответствует предыдущему элементу, повторяющемуся нуль или один раз.
Дополнительные сведения см. в разделе «
Квантификаторы
».
|
(
и
)
|
Определяет группы внутри регулярного выражения. Группы используются со следующей целью.
-
Для ограничения области оператора перестановок | :
/(a|b|c)d/
-
Для определения области квантификатора:
/(walla.){1,2}/
-
Во встречных ссылках. Например, в следующем регулярном выражении
\1
соответствует всему, что соответствует первой группе образца в круглых скобках:
-
/(\w*) is repeated: \1/
Дополнительные сведения см. в разделе «
Группы
».
|
[
и
]
|
Определяет класс символов, определяющий возможные совпадения для одиночного символа:
/[aeiou]/
соответствует любому из указанных символов.
Дефис (
-
) используется внутри классов символов для обозначения диапазона символов:
/[A-Z0-9]/
соответствует буквам верхнего регистра от А до Z или цифрам от 0 до 9.
Внутри классов символов для перехода от символов ]
и - используется вставка обратной косой черты:
/[+\-]\d+/
соответствует либо
+
, либо
-
перед одной или несколькими цифрами.
Внутри классов символов другие символы, которые обычно являются метасимволами, рассматриваются как обычные символы (не метасимволы), избегая необходимости использовать обратную косую черту:
/[$]/
£ соответствует либо
$
, либо
£
.
Дополнительные сведения см. в разделе «
Классы символов
».
|
|
(вертикальная черта)
|
Используется для перестановок, чтобы соответствовать либо части справа, либо части слева:
/abc|xyz/
соответствует либо
abc
, либо
xyz
.
|
О метапоследовательностях
Метапоследовательности представляют собой последовательности символов, имеющих в образце регулярного выражения особое значение. В следующей таблице приведено описание этих метапоследовательностей.
Метапоследовательность
|
Описание
|
{
n
}
{
n
,}
и
{
n
,
n
}
|
Определяет числовой квантификатор или диапазон квантификатора предыдущего элемента:
/A{27}/
соответствует символу
A
, повторяемому
27
раз.
/A{3,}/
соответствует символу
A
, повторяемому
3
раза или более.
/A{3,5}/
соответствует символу
A
, повторяемому от
3
до
5
раз.
Дополнительные сведения см. в разделе «
Квантификаторы
».
|
\b
|
Соответствует положению между словесным символом и несловесным символом. Также соответствует началу или концу строки, если первый или последний символ в строке является словесным символом.
|
\B
|
Соответствует положению между двумя словесными символами. Также соответствует положению между двумя несловесными символами.
|
\d
|
Соответствует десятичной цифре.
|
\D
|
Соответствует любому символу, отличному от цифры.
|
\f
|
Соответствует символу перевода страницы.
|
\n
|
Соответствует символу начала строки.
|
\r
|
Соответствует символу возврата.
|
\s
|
Соответствует любому символу разделителя (символу пробела, табуляции, новой строки или возврата).
|
\S
|
Соответствует любому символу, отличному от символа разделителя.
|
\t
|
Соответствует символу табуляции.
|
\u
nnnn
|
Соответствует символу юникода с кодом символа, заданным шестнадцатеричным числом
nnnn
. Например,
\u263a
является символом смайлика.
|
\v
|
Соответствует символу вертикальной подачи.
|
\w
|
Соответствует словесному символу (
AZ
–,
az
–,
0-9
или
_
). Следует отметить, что
\w
не соответствует символам, не являющимся символами английского языка, таким как
é
,
ñ
или
ç
.
|
\W
|
Соответствует любому символу, отличному от словесного символа.
|
\\x
nn
|
Соответствует символу с заданным значением ASCII, определенным шестнадцатеричным числом
nn
.
|
|
|
|