русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Regular Expressions


Дата добавления: 2015-07-09; просмотров: 495; Нарушение авторских прав


Регулярные выражения используются для поиска в тексте подстроки, соответствующей некоторому заданному шаблону. С их помощью можно выделить из текста html-страницы ссылки, проверить перед отправкой правильность заполнения полей формы, и многое другое.

Регулярное выражение в JavaScript – это объект класса RegExp. Соответственно, создаются они так:

var re = new RegExp(’str’, ’i’);

Здесь ‘str’ – шаблон для поиска, а ‘i’ – так называемый модификатор. Модификаторы задают некоторые параметры поиска. Так, в данном случае модификатор /i указывает, что поиск будет производиться без учёта регистра. Поэтому re совпадёт как со строкой ‘str’, так и со строкой ‘StR’. Без модификатора /i вторая подстрока не соответствовала бы шаблону.

Для создания объектов RegExp можно использовать упрощенный синтаксис:

var re = /str/i;

 

Пример Js40

Рассмотрим, как применять регулярные выражения для поиска подстрок. Метод класса String search производит поиск совпадения с регулярным выражением, возвращая индекс начала совпадения или -1, если подстрока не найдена. Так, код

var re = /str/i;

var st = " String where substring is searched.";

var s = "Does not match";

alert(st.search(re) + ' ' + s.search(re));

выведет

 

 

Заметим, что поиск в строке st даёт 1 (String), а не 17 (substring), то есть ищется именно первое совпадение. Если же совпадения нет, возвращается -1, что видно на примере поиска в строке s.

 

Пример Js38

 

Метод match также ищет подстроку, совпадающую с шаблоном, но возвращает массив, содержащий совпадения, или null, если совпадений нет. Так, код

var re = /str/i;

var st = " String where substring is searched.";

var s = "Does not match";

alert(st.match(re) + ' ' + s.match(re));



покажет

 

 

Пример Js39

 

Заметим, что опять возвращено только первое совпадение. Чтобы найти все, необходимо указать модификатор /g:

var re = /str/ig;

var st = " String where substring is searched.";

var s = "Does not match";

alert(st.match(re) + ' ' + s.match(re));



Тогда результат будет следующим:

 

 

Пример Js41

 

 

Далее, метод replace заменяет найденные соответствия указываемой подстрокой. К примеру,

var re = /str/ig;

var st = " String where substring is searched.";

var s = "Does not match";

alert(st.replace(re, "STR") + ' ' + s.replace(re, "STR"));

выведет

 

 

 

Пример Js42

 

 

Наконец, метод split производит разбиение строки по подстрокам, соответствующим шаблону. Например,

var re = /,/;

var st = "comma,separated,values";

alert(st.split(re)[2]);

выведет

 

 

 

st.split(re) создаёт массив [‘comma’, ‘separated’, ‘values’], разбивая строку по запятой, так как именно запятая совпадает с шаблоном re, затем выводится последний элемент этого массива.

 

Пример Js43

 

 

Помимо методов класса String можно пользоваться методами класса RegExp exec и test. Первый возвращает массив, содержащий подстроку, совпадающую с шаблоном, что очень похоже на поведение match с регулярным выражением в отсутствие модификатора /g. Второй просто возвращает логическое значение, сигнализирующее, есть ли совпадение. Так, пример

var re = /str/ig;

var st = " String where substring is searched.";

var s = "Does not match";

alert(re.exec(st) + ' ' + re.exec(s) + '\n' + re.test(st) + ' ' + re.test(s));

выведет

 

 

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

 



<== предыдущая лекция | следующая лекция ==>
Работа с регулярными выражениями | Метасимволы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.994 сек.