Таблица 4.1 Специальные символы в регулярных выражениях
\ | Один из следующих вариантов:
| |
^ | Совпадает с началом ввода или строки.
Например, /^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" and all the a's in "caaaaaaandy." | |
? | Предшествующий символ совпадает 0 или 1 раз.
Например, /e?le?/ совпадает с 'el' в "angel" и с 'le' в "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", но совпадает со всеми 'a' в "caandy" и с первыми двумя 'a' в "caaandy." | |
{n,} | Где n это положительное целое. Предшествующий символ совпадает как минимум n раз.
Например, /a{2,} не совпадает с 'a' в "candy", но совпадает со всеми 'a' в "caandy" и в "caaaaaaandy." | |
{n,m} | Где n и m это положительные целые. Предшествующий символ совпадает как минимум n и максимум m раз.
Например, /a{1,3}/ не совпадает ни с чем в "cndy", совпадает с 'a' in "candy," первыми двумя 'a' в "caandy" и первыми тремя 'a' в "caaaaaaandy" Обратите внимание, что в "caaaaaaandy" совпадает только "aaa", хотя строка-оригинал содержит больше символов 'a'. | |
[xyz] | Набор символов. Совпадает с любым одним из символов патэрна. Вы можете специфицировать диапазон символов, используя дефис.
Например, [abcd] эквивалентно [a-d]. Совпадает с 'b' в "brisket" и с 'c' в "ache". | |
[^xyz] | Отрицание набора символов. То есть совпадение со всем, кроме того, что находится в скобках. Вы можете специфицировать диапазон символов, используя дефис.
Например, [^abc] это то же самое, что [^a-c]. Первоначально совпадает с 'r' в "brisket" и с 'h' в "chop". | |
[\b] | Совпадает с backspace. (Не путайте с \b.) | |
\b | Совпадает с границей слова, такой как пробел/space или символ новой строки. (Не путайте с [\b].)
Например, /\bn\w/ совпадает с 'no' in "noonday"; /\wy\b/ совпадает с 'ly' in "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]/ совпадает с '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 считается восьмеричной escape-последовательностью, как описано в следующем ряду. | |
\ooctal \xhex | Где \ooctal это 8-ричное escape-значение или где \xhex это 16-ричное escape-значение. Даёт возможность внедрять ASCII-коды в регулярные выражения. |