Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика 7 ММТ.doc
Скачиваний:
4
Добавлен:
19.05.2015
Размер:
72.7 Кб
Скачать

Метасимволы регулярных выражений

Литерал

Описание

\

Часть специального символа либо указывает на то, что следующий за ним символ не является литералом. Используется перед восьмеричными кодами символов и для извлечения из памяти сохраненных подвыражений

^

Начало подстроки

$

Конец подстроки

*

Предшествующий символ должен встретиться сколько угодно раз или не встретиться вообще

+

Предшествующий символ должен встретиться

не менее одного раза

?

Предшествующий символ может встретиться один раз

или не встретиться вообще

{Число}

Предшествующий символ должен встретиться

в строке указанное число раз

{Число,}

Предшествующий символ должен встретиться

в строке не менее указанного числа раз

{Число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))

{