Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

Синтаксис литерала

/маска/атрибуты

Конструктор

new RegExp(шаблон, атрибуты)

Аргументы

шаблон Строка, задающая шаблон регулярного выражения или другое регулярное выражение.

атрибуты Необязательная строка, содержащая любые из атрибутов «g», «і» и «т», задающих глобальный, нечувствительный к регистру и многострочный поиск, соответственно. До выхода стандарта ECMAScript атрибут «m» не был доступен. Если аргумент шаблон - это регулярное выражение, а не строка, аргумент атрибуты может отсутствовать.

Возвращаемое

значение

Возвращается новый объект RegExp с указанными шаблоном и атрибутами. Если аргумент шаблон представляет собой регулярное выражение, а не строку, конструктор

RegExp
создаст новый объект
RegExp
, используя тот же шаблон и атрибуты, что и в указанном объекте
RegExp
. Если
RegExp
вызывается как функция (без оператора
new
), то ведет себя так же, как при вызове с оператором
new
, кроме случая, когда шаблон уже является объектом
RegExp
; тогда функция возвращает аргумент шаблон, а не создает новый объект
RegExp
.

Исключения

SyntaxError
Генерируется, если шаблон не является допустимым регулярным выражением или если аргумент атрибуты содержит символы, отличные от «g», «і» и «т».

ТуреЕrror
Генерируется, если шаблон - это объект
RegExp
и аргумент атрибуты не

опущен.

Свойства экземпляра

global Признак присутствия в RegExp атрибута «g».

ignoreCase Признак присутствия в RegExp атрибута «і».

lastlndex Позиция символа при последнем обнаружении соответствия;

используется для поиска в строке нескольких соответствий.

multiline Признак присутствия в RegExp атрибута «m».

source Исходный текст регулярного выражения.

Методы

ехес Выполняет мощный универсальный поиск по шаблону,

test Проверяет, содержит ли строка данный шаблон.

Описание

Объект

RegExp
представляет регулярное выражение - мощное средство для поиска в строках по шаблону. Синтаксис и применение регулярных выражений полностью описаны в главе 10.

См. также

Глава 10

RegExp.exec

универсальный поиск по шаблону

Синтаксис

regexp.exec (строка)

Аргументы

строка Строка, в которой выполняется поиск.

Возвращаемое значение

Массив, содержащий результаты поиска или значение null, если соответствия не найдено. Формат возвращаемого массива описан далее.

Исключения

ТуреЕrror
Генерируется, если метод вызывается для объекта, не являющегося объектом
RegExp
.

Описание

Метод

ехес
– наиболее мощный из всех методов объектов
RegExp
и
String
для поиска по шаблону. Это универсальный метод, использовать который несколько сложнее, чем методы
RegExp.test,
String.search, String.replace
и
String.match.

Метод

exec
ищет в строке текст, соответствующий выражению
regexp
. И если находит, то возвращает массив результатов; в противном случае возвращается значение null. Элемент 0 полученного массива представляет собою искомый текст. Элемент 1 - это текст, соответствующий первому подвыражению в скобках внутри
regexp
, если оно есть. Элемент 2 соответствует второму подвыражению и т. д. Свойство
length
массива, как обычно, определяет количество элементов в массиве. В дополнение к элементам массива и свойству
length
значение, возвращаемое
ехес,
имеет еще два свойства. Свойство
index
указывает позицию первого символа искомого текста. Свойство
input
ссылается на строку. Этот возвращаемый массив совпадает с массивом, возвращаемым методом
String.match,
когда он вызывается для неглобального объекта
RegExp
.

Когда метод

ехес
вызывается для неглобального шаблона, он выполняет поиск и возвращает описанный выше результат. Однако если
regexp
– глобальное регулярное выражение,
ехес
ведет себя несколько сложнее. Он начинает поиск в строке с символьной позиции, заданной свойством
regexp.lastlndex
. Найдя соответствие, метод устанавливает свойство
lastIndex
равным позиции первого символа после найденного соответствия. Это значит, что
ехес
можно вызвать несколько раз, чтобы выполнить цикл по всем соответствиям в строке. Если метод
ехес
больше не находит соответствий, он возвращает значение null и сбрасывает свойство
lastlndex
в ноль. Начиная поиск непосредственно после успешного нахождения соответствия в другой строке, необходимо соблюдать внимательность и вручную установить свойство
lastlndex
равным нулю. Обратите внимание:
ехес
всегда включает полную информацию для найденного соответствия в возвращаемый им массив независимо от того, является
regexp
глобальным шаблоном или нет. Этим
ехес
отличается от метода
String.match
, который возвращает намного меньше информации при работе с глобальными шаблонами. Вызов
ехес
в цикле - единственный способ получить полную информацию о результатах поиска для глобального шаблона.

Пример

Для нахождения всех соответствий в строке метод

ехес
можно вызывать в цикле:

var pattern = /\bJava\w*\b/g;

var text = "JavaScript is more fun than Java or JavaBeans!";

var result;

while((result = pattern.exec(text)) != null) {

alert("Matched ‘" + result[0] +

at position " + result.index +

next search begins at position " + pattern.lastlndex);

}

См. также

RegExp.lastlndex, RegExp.test, String.match, String.replace, String.search; глава 10

RegExp.global

выполняется ли глобальный поиск по данному регулярному выражению

<
Поделиться:
Популярные книги

Последний реанорец. Том I и Том II

Павлов Вел
1. Высшая Речь
Фантастика:
фэнтези
7.62
рейтинг книги
Последний реанорец. Том I и Том II

Хозяин Теней

Петров Максим Николаевич
1. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней

На границе империй. Том 10. Часть 6

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 6

Мастер Трав III

Мордорский Ваня
3. Мастер Трав
Фантастика:
фэнтези
рпг
фантастика: прочее
попаданцы
5.75
рейтинг книги
Мастер Трав III

Лекарь Империи 7

Карелин Сергей Витальевич
7. Лекарь Империи
Фантастика:
городское фэнтези
аниме
боевая фантастика
попаданцы
5.00
рейтинг книги
Лекарь Империи 7

Чехов книга 3

Гоблин (MeXXanik)
3. Адвокат Чехов
Фантастика:
попаданцы
альтернативная история
аниме
6.00
рейтинг книги
Чехов книга 3

Газлайтер. Том 6

Володин Григорий
6. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 6

Третий. Том 3

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий. Том 3

Страж Кодекса. Книга VI

Романов Илья Николаевич
6. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга VI

Перешагнуть пропасть

Муравьёв Константин Николаевич
1. Перешагнуть пропасть
Фантастика:
боевая фантастика
космическая фантастика
8.38
рейтинг книги
Перешагнуть пропасть

Наномашины, Кошмар Академии! Том 10

Новиков Николай Васильевич
10. Первый среди карапузов
Фантастика:
аниме
попаданцы
5.00
рейтинг книги
Наномашины, Кошмар Академии! Том 10

Ким

Киплинг Редьярд Джозеф
Приключения:
исторические приключения
7.62
рейтинг книги
Ким

Его звали Тони. Книга 5

Кронос Александр
5. Щенки косуль
Фантастика:
городское фэнтези
технофэнтези
попаданцы
7.00
рейтинг книги
Его звали Тони. Книга 5

Эпоха Опустошителя. Том V

Павлов Вел
5. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Эпоха Опустошителя. Том V