Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Таранова / Лекция-регулярные выражения js.pptx
Скачиваний:
87
Добавлен:
19.05.2015
Размер:
363.42 Кб
Скачать

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

exec Метод RegExp, который выполняет поиск совпадения в строке. Он возвращает массив данных.

test Метод RegExp, который тестирует совпадение в строке. Возвращает либо истину либо ложь.

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

search Метод String, который тестирует на совпадение в строке. Он возвращает индекс совпадения, или -1 если совпадений не будет найдено.

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

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

45

Поиск совпадений: метод exec

Метод exec возвращает массив и ставит свойства регулярного выражения.

Если совпадений нет, то возвращается null.

//Найти одну d, за которой следует 1 или более b, за которыми одна d

//Запомнить найденные b и следующую за ними d

//Регистронезависимый поиск

var myRe = /d(b+)(d)/i;

var myArray = myRe.exec("cdbBdbsbz"); //dbBd[0],bB[1],d[2]

46

Проверка результатов: метод test

Чтобы просто проверить, подходит ли строка под регулярное выражение, используется метод test:

if ( /\s/.test("строка ") ) {

...В строке есть пробелы!...

}

47

replace

Для формирования новых строк с помощью регулярных выражений у объектов типа String имеется метод replace(). Обращение к нему

имеет форму replace(regexp, replaceStr) где

regexp — регулярное выражение (или переменная, которой оно присвоено),

replaceStr — шаблон, на основании которого формируется новая строка (но это уже не регулярное выражение!).

Метод replace возвращает сформированную новую строку.

При выполнении сопоставления, подвыражения регулярного выражения, взятые в нем в круглые скобки, последовательно запоминаются в переменных. Эти переменные можно использовать в шаблоне новой строки (replaceStr), где они обозначаются знаком доллара и соответствующей цифрой ($1, $2, $3 и т.д.). Шаблон для формирования новой строки может включать в себя также статичный текст и другие обычные Javascript-переменные.

48

replace

Пример: строка замены str = "тест еще тест"

str.replace("тест","прошел") // = "прошел еще тест" Пример: Глобальная замена строки

str = “тест еще тест”

str.replace(/тест/g,"прошел") // = “прошел еще прошел”

str.replace(new RegExp("тест",'g'),"прошел") Пример: Замена со ссылками

var re = /(\w+)\s(\w+)/; var str = "John Smith";

var newstr = str.replace(re, "$2, $1") // "Smith, John"

49

Метод match

Функция match() —метод определенный для строковых объектов JavaScript, поэтому эта функция должна вызываться анализируемой строкой. Единственным аргументом функции является регулярное выражение, которое может быть задаваться с помощью переменной или записано в явном виде

str.match(regexp) где

str — анализируемая строка,

match — имя функции, выполняющей сопоставление строки с регулярным выражением,

regexp — регулярное выражение (шаблон). Возвращаемые значения:

При неудачном сопоставлении функция возвращает null.

При удачном сопоставлении возвращается массив, состоящий из: а) успешно найденной подстроки и

б) массива подстрок, образовавшегося в ходе анализа при запоминании подстрок.

50

var url = /(\w+):\/\/([\w.]+)/;

var text = "Посетите наш сайт http://www.donstu.ru";

var result = text.match(url); if (result != null) {

var fullurl = result[0];

//Содержит "http://www.donstu.ru" var protocol = result[1];

//Содержит "http"

var host = result[2];

// Содержит "www.donstu.ru"

}

51

Соседние файлы в папке Таранова