\ |
Для символов, которые обычно рассматриваются литерально, указывает, что следующий символ является специальным и не должен интерпретироваться литерально. Например, /b/ совпадает с символом 'b'. Поместив backslash перед b, /\b/, делаем символ специальным, в данном случае - обозначающим границу слова. -или- Для символов, которые обычно рассматриваются как специальные, указывает, что следующий символ не является специальным и должен интерпретироваться литерально. Например, * это спецсимвол, означающий 0 или более совпадений предыдущего символа; например, /a*/ означает 0 или более совпадений символа а. Для подстановки * литерально, предварите его обратным слэшем; например, /a\*/ совпадает с 'a*'. |
^ |
Совпадение в начале ввода или строки. Например, /^A/ не совпадает с 'A' в строке "an A," но совпадает в "An A." |
$ |
Совпадение в конце ввода или строки. Например, /t$/ не совпадает с 't' в "eater", но совпадает в "eat" |
* |
Совпадение предшествующего символа 0 или более раз. Например, /bo*/ совпадает с 'boooo' в "A ghost booooed" и с 'b' в "A bird warbled", но совпадений нет в "A goat grunted". |
+ |
Совпадение предшествующего символа 1 или более раз. Эквивалентно {1,}. Например, /a+/ совпадает с 'a' в "candy" и со всеми a в "caaaaaaandy." |
? |
Совпадение предшествующего символа 1 или более раз. Например, /e?le?/ совпадает с 'el' in "angel" and the 'le' in "angle." |
. |
(Десятичная точка) совпадает с любым символом, за исключением символа новой строки. Например, /.n/ совпадает с 'an' и с 'on' в "nay, an apple is on the tree", но не с 'nay'. |
(x) |
Совпадает с 'x' и запоминает совпадение. Например, /(foo)/ совпадает (и запоминается) с 'foo' в "foo bar." Совпавшая подстрока может быть вызвана из элементов результирующего массива [1], ..., [n] или из свойств $1, ..., $9 предопределённого объекта RegExp. |
x|y |
Совпадает с 'x' или с 'y'. Например, /green|red/ совпадает с 'green' в "green apple" и с 'red' в "red apple". |
{n} |
Где n это положительное целое число. Совпадение предшествующего символа точно n раз. Например, /a{2}/ не совпадает с 'a' в "candy," но совпадает с со всеми а в "caandy" и с первыми двумя а в "caaandy." |
{n,} |
Где n это положительное целое число. Совпадение как минимум n появлений предшествующего символа. Например, /a{2,} не совпадает с 'a' в "candy", но совпадает со всеми а в "caandy" и в "caaaaaaandy". |
{n,m} |
Где n и m это положительные целые числа. Совпадают минимум n и максимум m вхождений предшествующего символа. Например, /a{1,3}/ не совпадает ни с чем в "cndy", совпадает с 'a' в "candy", двумя а в "caandy" и первыми тремя a в "caaaaaaandy". Заметьте, что, при совпадении с "caaaaaaandy", совпадает "aaa", хотя строка-оригинал содержит больше а. |
[xyz] |
Набор символов. Совпадает с одним (любым) из символов набора. Можно специфицировать диапазон символов с помощью дефиса. Например, [abcd] равносильно [a-c]. Они совпадают с 'b' в "brisket" и с 'c' в "ache". |
[^xyz] |
Отрицающий набор символов. То есть он совпадает со всем, кроме того, что содержится в скобках. Можно специфицировать диапазон символов с помощью дефиса. Например, [^abc] равносильно [^a-c]. Совпадает с 'r' в "brisket" и с 'h' в "chop." |
[\b] |
Совпадает с backspace. (Не путайте с \b.) |
\b |
Соответствует границе слова, такой как space/пробел. (Не путайте с [\b].) Например, /\bn\w/ совпадает с 'no' в "noonday";/\wy\b/ совпадает с 'ly' в "possibly yesterday." |
\B |
Совпадает с не-границей слова. Например, /\w\Bn/ совпадает с 'on' в "noonday", и /y\B\w/ совпадает с 'ye' в "possibly yesterday." |
\cX |
Где X это управляющий символ. Совпадает с управляющим символом в строке. Например, /\cM/ совпадает с control-M в строке. |
\d |
Совпадает с цифровым символом. Эквивалентно [0-9]. Например, /\d/ или /[0-9]/ совпадает с '2' в "B2 is the suite number." |
\D |
Совпадает с любым нецифровым символом. Эквивалентно [^0-9]. Например, /\D/ или /[^0-9]/ совпадает с matches 'B' в "B2 is the suite number." |
\f |
Совпадает с form-feed/прогоном страницы. |
\n |
Совпадает с linefeed/прогоном строки. |
\r |
Совпадает с carriage return/возвратом каретки. |
\s |
Совпадает с одиночным пробельным символом, включая space, tab, form feed, line feed. Эквивалентно [ \f\n\r\t\v]. Например, /\s\w*/ совпадает с ' bar' в "foo bar." |
\S |
Совпадает с одиночным символом, отличным от пробельного символа. Эквивалентно [^ \f\n\r\t\v]. Например, /\S/\w* совпадает с 'foo' в "foo bar." |
\t |
Совпадает с tab/табуляцией. |
\v |
Совпадает с vertical tab/вертикальной табуляцией. |
\w |
Совпадает с любым алфавитным или цифровым символом, включая символ подчёркивания. Эквивалентно [A-Za-z0-9_]. Например, /\w/ совпадает с 'a' в "apple", с '5' в "$5.28" и с '3' в "3D." |
\W |
Совпадает с любым несловарным символом. Эквивалентно [^A-Za-z0-9_]. Например, /\W/ или /[^$A-Za-z0-9_]/ совпадает с '%' в "50%." |
\n |
Где n это положительное целое. Обратная ссылка на последнюю подстроку, совпавшую с n символов в скобках в регулярном выражении (с учётом левой скобки). Например, /apple(,)\sorange\1/ совпадает с 'apple, orange,' в "apple, orange, cherry, peach." Более полные примеры даны после этой таблицы. Примечание: Если количество левых скобок меньше числа, специфицированного в \n, \n считается 8-ричной escape-заменой, как описано в следующем ряду данной таблицы. |
\ooctal \xhex |
Где \ooctal это 8-ричное escape-значение или где \xhex это 16-ричное escape-значение. Позволяет внедрять ASCII-коды в регулярные выражения. |