Клиентский JavaScript 1.3 Руководство


           

Специальные символы в регулярных выражениях


Таблица 4.1 Специальные символы в регулярных выражениях


Символ
Значение
\ Один из следующих вариантов:

  • Для символов, которые обычно рассматриваются литерально, указывает, что следующий символ является специальным и не должен интерпретироваться литерально.
    Например, /b/ совпадает с символом 'b'. При помещении символа backslash перед b, то есть /\b/, символ становится специальным, обозначая границу слова.
  • Для символов, которые обычно рассматриваются как специальные, указывает что следующий символ не является специальным и должен интерпретироваться литерально.
    Например, * это специальный символ, который означает 0 или более совпадений с вхождением предыдущего символа; например, /a*/ означает 0 или более символов а. Для подстановки * литерально, поставьте передним backslash; например, /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" 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-коды в регулярные выражения.
Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий