Метасимволы регулярных выражений
Литерал |
Описание |
\ |
Часть специального символа либо указывает на то, что следующий за ним символ не является литералом. Используется перед восьмеричными кодами символов и для извлечения из памяти сохраненных подвыражений |
^ |
Начало подстроки |
$ |
Конец подстроки |
* |
Предшествующий символ должен встретиться сколько угодно раз или не встретиться вообще |
+ |
Предшествующий символ должен встретиться не менее одного раза |
? |
Предшествующий символ может встретиться один раз или не встретиться вообще |
{Число} |
Предшествующий символ должен встретиться в строке указанное число раз |
{Число,} |
Предшествующий символ должен встретиться в строке не менее указанного числа раз |
{Число1, Число2} |
Предшествующий символ должен встретиться в строке от аргумента Число1 до аргумента Число2 раз |
. |
Любой символ, кроме \n (перевод строки) |
() |
Подвыражение. Его результат сохраняется в соответствующей переменной с именем \Номер переменной, где Номер переменной — порядковый номер подвыражения (от 0 до 9) |
{Символ1}| {Символ2} |
Ищет один из двух символов |
[Набор символов] |
Ищет символ, указанный в наборе Набор, записанный в виде [a-d, f], означает символы a, b, c, d, f |
[^Набор символов] |
Ищет символ, не вошедший в указанный набор |
\\b |
Граница слова (позиция между словом и пробелом) |
\\B |
Противоположно границе слова |
\\d |
Любая цифра |
\\D |
Любой нецифровой символ |
\\s |
Пробельный символ |
\\S |
Любой не пробельный символ |
\\t |
Табуляция |
\\w |
Буква, цифра или символ подчеркивания |
\\W |
Противоположно \\w |
Пример регулярного выражения. Шаблон номера телефона:
^(\\(\\d+\\)){0,1}\\d{3}-\\d{2}-\\d{2}$.
Здесь используются следующие символы:
^ — строка должна начинаться с шаблона;
(\\(\\d+\\)) — код города должен быть в круглых скобках (внутренние круглые скобки с предшествующими \\) и является подвыражением (внешние круглые скобки); код города — одна или несколько цифр (\\d+);
{0,1} — выражение в скобках (код города) может повторяться от нуля до одного раза, то есть код города можно не указывать;
\\d{3}-\\d{2}-\\d{2} — Три группы цифр — одна группа с тремя и две с двумя цифрами. Цифры разделены дефисами;
$ — строка заканчивается шаблоном.
КлассRegExp.Для работы с регулярными выражениями на языке JavaScript используется класс RegExp. С помощью этого класса можно производить следующие действия: поиск подстрок по шаблону; замена подстрок по шаблону; сравнение строки с шаблоном; разделение строки на подстроки с использованием шаблонов.
Для осуществления действий с регулярными выражениями необходимо создать экземпляр класса RegExp:
var r = new RegExp(“[A-Z]{3}”);
Сравнение строки с шаблоном — самая простая операция, которую можно произвести с помощью класса RegExp. Сравнение осуществляется методом Match. Возвращаемое значение имеет тип Boolean. Метод возвращает True, если тестируемая строка совпадает с шаблоном и False в противном случае.
Пример. Cравнение введенного номера телефона с шаблоном:
<script>
function IsNumberTel()
{
var s='^(\\(\\d+\\)){0,1}\\d{3}-\\d{2}-\\d{2}$';
var re = new RegExp(s);
if (f.text1.value.match(re))
{