JavaScript Регулярные выражения
Регулярное выражение представляет собой последовательность символов, которая формирует шаблон поиска.
Шаблон поиска может использоваться для поиска текста и операций замены текста.
Что такое регулярное выражение?
Регулярное выражение представляет собой последовательность символов, которая формирует шаблон поиска.
При поиске данных в тексте можно использовать этот шаблон поиска для описания искомого.
Регулярное выражение может быть одним символом или более сложным шаблоном.
Регулярные выражения можно использовать для выполнения всех типов операций поиска текста и замены текста .
Синтаксис
/pattern/modifiers;
Пример
var patt = /html5css/i;
Пример:
/html5css/i является регулярным выражением.
html5css шаблон (используется в поиске).
i&нбсп; является модификатором (изменяет Поиск с учетом регистра).
Использование строковых методов
В JavaScript регулярные выражения часто используются с двумя строковыми методами: Search () и Replace ().
Метод Search () использует выражение для поиска совпадения и возвращает позицию совпадения.
Метод Replace () Возвращает измененную строку, в которой шаблон заменяется.
Использование строки Search () со строкой
Метод Search () ищет строку для заданного значения и возвращает позицию совпадения:
Пример
Используйте строку для поиска "html5css" в строке:
var str = "Visit html5css!";
var n = str.search("html5css");
Использование строкового поиска () с регулярным выражением
Пример
Используйте регулярное выражение для поиска "хтмл5ксс" в строке с учетом регистра.
var str = "Visit html5css";
var n = str.search(/html5css/i);
The result in n will be:
6
Использование строки replace () со строкой
Метод Replace () заменяет указанное значение другим значением в строке:
var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "html5css");
Использовать строку Replace () с регулярным выражением
Пример
Use a case insensitive regular expression to replace Microsoft with html5css in a string:
var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "html5css");
The result in res will be:
Visit html5css!
Вы заметили?
Аргументы регулярного выражения (вместо строковых аргументов) могут использоваться в описанных выше методах.
Регулярные выражения могут сделать ваш поиск намного более мощным (например, нечувствительный к регистру).
Модификаторы регулярных выражений
Модификаторы можно использовать для выполнения более глобальных поисков с учетом регистра:
Изменить | Описание | Запуск |
---|---|---|
i | Выполнение сопоставления с учетом регистра | |
g | Выполнить глобальное совпадение (найти все совпадения, а не останавливать после первого матча) | |
m | Выполнение многострочного сопоставления |
Шаблоны регулярных выражений
Скобки используются для поиска диапазона символов:
Выражение | Описание | Запуск |
---|---|---|
[abc] | Найти любой из символов между скобками | |
[0-9] | Найти любую цифру между скобками | |
(x|y) | Найти любой из альтернатив, разделенных | |
Метасимволы являются символами с особым значением:
Метасимвол | Описание | Запуск |
---|---|---|
\d | Найти цифру | |
\s | Поиск символа пробела | |
\b | Найти совпадение в начале или в конце слова | |
\uxxxx | Поиск символа Юникода, заданного шестнадцатеричным номером XXXX |
Кванторы определение количеств:
Количественно | Описание | Запуск |
---|---|---|
n+ | Соответствует любой строке, содержащей по крайней мере один n | |
n* | Соответствует любой строке, содержащей ноль или более вхождений n | |
n? | Соответствует любой строке, содержащей ноль или одно вхождение n |
Использование объекта регулярного выражения
В JavaScript объект регулярного выражения является объектом регулярных выражений с предопределенными свойствами и методами.
Использование Test ()
Метод Test () является методом выражения регулярных выражений.
Он выполняет поиск строки для шаблона и возвращает значение true или false в зависимости от результата.
В следующем примере выполняется поиск строки для символа "e":
Пример
var patt = /e/;
patt.test("The best things in life are free!");
Since there is an "e" in the string, the output of the code above will be:
true
В первую очередь не нужно ставить регулярное выражение в переменную. Две линии выше могут быть сокращены до одного:
/e/.test("The best things in life are free!");
Использование exec ()
Метод exec () является методом выражения регулярных выражений.
Он выполняет поиск строки для заданного шаблона и возвращает найденный текст.
Если совпадение не найдено, возвращается значение null.
В следующем примере выполняется поиск строки для символа "e":
Пример 1
/e/.exec("The best things in life are free!");
Поскольку в строке есть "e", вывод кода выше будет:
e
Полная ссылка на регулярное выражение
Для полной справки перейдите к нашему полному Справочнику по регулярным выражениям JavaScript.
Ссылка содержит описания и примеры всех свойств и методов регулярного выражения.