САЙТ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ НА РУССКОМ ЯЗЫКЕ
×

JS Учебник

JS Главная JS Введение JS Установка JS Вывод JS Синтаксис JS Заявления JS Комментарии JS Переменные JS Операторы JS Арифметика JS Присваивания JS Типы данных JS Функции JS Объекты JS Область JS События JS Строки JS Методы строк JS Числа JS Методы чисел JS Массивы JS Методы массива JS Сортировка массива JS Итерация массива JS Даты JS Формат даты JS Метод получения дат JS Методы набора... JS Математические... JS Случайные числа JS Булевы JS Сравнение... JS Заявления if...else JS Заявление switch JS Цикл for JS Цикл while JS Заявление break... JS Преобразование... JS Битовые... JS Регулярные выражения JS Ошибки JS Отладчик JS Подъемный JS Строгий JS Ключевое слово this JS Руководство стиля JS Практика JS Распространенные ошибки JS Эффективность JS Зарезервированные слова JS Версии JS Версия ES5 JS Версия ES6 JS JSON

JS Формы

JS Формы JS Формы API

JS Объекты

Определение объекта Свойства объекта Методы объекта Доступ к объекту Конструкторы объекта Прототипы объекта Объект ECMAScript 5

JS Функции

Определение функции Параметры функции Вызов Функции Вызвать Функцию Применение функции Закрытие Функции

JS HTML DOM

DOM Введение DOM Методы DOM Документы DOM Элементы DOM HTML DOM CSS DOM Анимация DOM События DOM Слушатель события DOM Навигация DOM Узлы DOM Коллекции DOM Список узлов

JS Браузера BOM

JS Окно JS Экран JS Местоположение JS История JS Навигатор JS Всплывающее окна JS Синхронизация JS Cookies

JS AJAX

AJAX Введение AJAX XMLHttp AJAX Запрос AJAX Ответ AJAX XML Файл AJAX PHP AJAX ASP AJAX База данных AJAX Приложения AJAX Примеры

JS JSON

JSON Введение JSON Синтаксис JSON или XML JSON Типы данных JSON Парсинг JSON Строки JSON Объекты JSON Массивы JSON PHP JSON HTML JSON JSONP



JavaScript Регулярные выражения



Регулярное выражение - это последовательность символов, которая формирует шаблон поиска.

Шаблон поиска можно использовать для операций текстового поиска и замены текста.


Что такое регулярное выражение?

Регулярное выражение - это последовательность символов, которая образует шаблон поиска.

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

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

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

Синтаксис

/паттерн/модификаторы;

Пример

var patt = /schoolsw3/i;

Объяснение примера:

/schoolsw3/i  является регулярным выражением.

schoolsw3  является паттерном (для использования в поиске).

i  является модификатором (изменяет поиск без учета регистра).


Использование строковых методов

В JavaScript, регулярные выражения часто использует двух строковый метод: search() и replace().

Метод search() использует выражение для поиска, и возвращает позицию совпадения.

Метод replace() возвращает измененную строку, в которой шаблон заменяется.


Использование строк search() со строкой

Метод search() ищет в строке заданное значение и возвращает позицию совпадения:

Пример

Используйте строку для поиска "Schoolsw3" в строке:

var str = "Визит Schoolsw3!";
var n = str.search("Schoolsw3");
Редактор кода »

Использование строк search() с регулярным выражением

Пример

Используйте регулярное выражение для выполнения поиска без учета регистра для "schoolsw3" в строке:

var str = "Визит Schoolsw3";
var n = str.search(/schoolsw3/i);

Результат в n будет:

6
Редактор кода »

Использование строк replace() со строкой

Метод replace() заменяет указанное значение другим значением в строке:

var str = "Визит Microsoft!";
var res = str.replace("Microsoft", "Schoolsw3");
Редактор кода »

Использование строк replace() с регулярным выражением

Пример

Используйте регулярное выражение без учета регистра для замены Microsoft на Schoolsw3 в строке:

var str = "Визит Microsoft!";
var res = str.replace(/microsoft/i, "Schoolsw3");

Результат в res будет:

Визит Schoolsw3!
Редактор кода »

Ты Заметил?

Аргументы регулярного выражения (вместо строковых аргументов) могут использоваться в приведенных выше методах.
Регулярные выражения могут сделать ваш поиск намного более мощным (например, без учета регистра).


Модификаторы регулярных выражений

Модификаторы могут использоваться для выполнения глобального поиска без учета регистра:

Модификатор Описание Редактор кода
i Выполнить глобальное совпадение (без учета регистра) Редактор кода »
g Выполнить глобальное совпадение (найти все совпадения) Редактор кода »
m Выполнить многострочное совпадение Редактор кода »

Паттерны регулярного выражения

Скобки используются для поиска диапазона символов:

Выражение Описание Редактор кода
[abc] Найти любую букву в скобках Редактор кода »
[0-9] Найти любую цифру в скобках Редактор кода »
(x|y) Найти любую из альтернатив, разделенных | Редактор кода »

Метасимволы являются символами, имеющими специальное значение:

Метасимволы Описание Редактор кода
\d Найти цифру Редактор кода »
\s Найти символ пробела Редактор кода »
\b Найти совпадения в начале или в конце слова Редактор кода »
\uxxxx Найти символ в Unicode, шестнадцатиричный номер xxxx Редактор кода »

Квантификаторы определение количества:

Квантификатор Описание Редактор кода
n+ Соответствует любой строке, содержащей хотя бы одну n Редактор кода »
n* Соответствует любой строке, содержащей ноль или вхождение n Редактор кода »
n? Соответствует любой строке, содержащей ноль или одно вхождение n Редактор кода »

Использование объекта RegExp

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


С использованием test()

Метод test() является методом выражения RegExp.

Он ищет строку для шаблона и возвращает true или false, в зависимости от результата.

В следующем примере выполняется поиск символа в строке "e":

Пример

var patt = /e/;
patt.test("Лучшие вещи в жизни бесплатны!");

Так как в строке есть "e", то выводом кода выше будет:

true
Редактор кода »

Вам не нужно сначала помещать регулярное выражение в переменную. Две строки выше могут быть сокращены до одной:

/e/.test("Лучшие вещи в жизни бесплатны!");

С использованием exec()

Метод exec() является методом выражения RegExp.

Он ищет строку для указанного шаблона и возвращает найденный текст в качестве объекта.

Если совпадение не найдено, возвращается пустой объект (null).

В следующем примере выполняется поиск символа в строке "e":

Пример 1

/e/.exec("Лучшие вещи в жизни бесплатны!");
Редактор кода »

Полный справочник по регулярным выражениям

Для подробной информации перейдите на наш Полный JavaScript справочник по регулярным выражениям.

Ссылка содержит описания и примеры всех свойств и методов RegExp.