Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
JavaScript_2009.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.16 Mб
Скачать

Работа с регулярными выражениями

Регулярные выражения используются с методами test и exec класса RegExp и с методами match, replace, search и split объекта String. Информация о ходе выполнения регулярного выражения хранится в глобальном объекте RegExp, которому можно обратиться после выполнения регулярного выражения.

Методы класса RegExp

Метод

Описание

exec

Метод объекта RegExp, выполняющий поиск совпадения в строке. Возвращает массив информации. Пример Js43

test

Метод объекта RegExp, тестирующий на совпадение в строке. Возвращает true или false.

match

Метод объекта String, выполняющий поиск совпадения в строке. Возвращает массив информации или null при отсутствии совпадений. Пример Js38, Js39

search

Метод объекта String, тестирующий на совпадение в строке. Возвращает индекс совпадения или -1, если поиск завершился ничем. Пример Js40

replace

Метод объекта String, выполняющий поиск совпадения в строке и замещающий совпавшую подстроку замещающей подстрокой.

Пример Js41

split

Метод объекта String, использующий регулярное выражение или фиксированную строку для разбивки строки на массив подстрок.

Пример Js42

Примеры

1. Рассмотрим фрагмент скрипта:

Var result, re, str;

str = "Here is my email: glove@linux.org and here is his: hate@windows.com";

re = new RegExp("\w+(\.?\w+)?@\w+\.\w+");

result = str.match(re);

В result будет массив электронных адресов полученных из строки str.

2. К глобальному объекту RegExp можно обращаться непосредственно для доступа к результатам поиска с использованием регулярного выражения. Этот объект создается самим интерпретатором и доступен всегда. Формат доступа к нему выглядит так:

RegExp.своиство. Все свойства этого объекта доступны только для чтения.

Свойства глобального объекта RegExp.

$n

Здесь n - номер подвыражения (от 1 до 9), значение которого требуется получить. Подвыражения с номерами, большими 9, можно получить, используя методы match и exec.

index

Возвращает позицию найденной подстроки в строке.

input | &

Возвращает строку, где производится поиск.

lastIndex

Позиция в строке, откуда начинается поиск.

lastMatch | $&

Возвращает последнюю найденную подстроку.

lastParent | $+

Возвращает последнюю найденную группу символов, если в регулярном выражении использовались подвыражения.

lastСontext |$`

Возвращает строку, составленную из всех символов от начала исходной строки до последней найденной подстроки, не включая ее.

rightContext | $'

Возвращает строку, составленную из всех символов от последней найденной подстроки, не включая ее, до конца исходной строки.

Пример.

Рассмотрим фрагмент скрипта, выделяющий протокол адрес и имя файла из строки ссылки:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]