Символы, метасимволы и метапоследовательностиFlash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий
Самым простым регулярным выражением является такое выражение, последовательность символов которого соответствует последовательности, указанной в следующем примере:
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
|
Соответствует символу табуляции.
|
\unnnn
|
Соответствует символу юникода с кодом символа, заданным шестнадцатеричным числом nnnn. Например, \u263a является символом смайлика.
|
\v
|
Соответствует символу вертикальной подачи.
|
\w
|
Соответствует словесному символу (AZ–, az–, 0-9 или _). Следует отметить, что \w не соответствует символам, не являющимся символами английского языка, таким как é , ñ или ç.
|
\W
|
Соответствует любому символу, отличному от словесного символа.
|
\\xnn
|
Соответствует символу с заданным значением ASCII, определенным шестнадцатеричным числом nn.
|
|
|