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

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

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

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

Регулярные выражения составляютшаблон поиска (search pattern)серии символов.

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

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

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

грамматика

/шаблон/модификаторы;

Пример

var patt = /codew3c/i;

Пример объяснения:

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

codew3c являются шаблоном (pattern) (используется в поиске).

Модификаторы являются модификаторами (делают поиск нечувствительным к регистру).

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

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

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

Использование метода строки replace() для обработки строки Метод возвращает строку, модифицированную местами замены шаблона.

Использование метода строки search() для обработки строки

search() Метод также принимает строку в качестве параметра поиска. Строковые параметры будут преобразованы в регулярное выражение:

Пример

Использование строки для выполнения поиска "W3school":

var str = "Visit CodeW3C.com!";
var n = str.search("W3School"); 

Попробуйте сами

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

Пример

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

var str = "Visit CodeW3C.com";
var str = "Visit CodeW3C.com"; 

var n = str.search(/codew3c/i);

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

Попробуйте сами

6

Использование метода строки replace() для обработки строки replace()

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

Попробуйте сами

var res = str.replace("Microsoft", "W3School");

Пример

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

Использование неопределенного регистра регулярного выражения для замены Microsoft на W3school в строке:
var str = "Visit Microsoft!"; 

var res = str.replace(/microsoft/i, "W3School");

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

Попробуйте сами

Посетите CodeW3C.com!

Вы заметили?

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

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

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

Модификаторы, которые можно использовать для более глобального поиска без учета регистра: Описание Попробуйте!
Модификаторы Выполнение соответствия без учета регистра. Попробуйте!
g Выполнение глобального соответствия (поиск всех соответствий, а не停止 после первого соответствия). Попробуйте!
m Выполнение многострочного соответствия. Попробуйте!

Модель регулярного выражения

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

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

Символы метки (Metacharacter)Это символы, имеющие особое значение:

Символы метки Описание Попробуйте!
\d Найти цифру. Попробуйте!
\s Найти пробельный символ. Попробуйте!
\b Соответствует границам слова. Попробуйте!
\uxxxx Найти символ Unicode, определенный шестнадцатеричным числом xxxx. Попробуйте!

Квантитативные операторы Определение квантитативных операторов:

Квантитативные операторы Описание Попробуйте!
n+ Соответствует любым строкам, содержащим по крайней мере один n. Попробуйте!
n* Соответствует любым строкам, содержащим ноль или несколько n. Попробуйте!
n? Соответствует любым строкам, содержащим ноль или один n. Попробуйте!

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

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

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

test() Это метод регулярного выражения.

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

Ниже приведен пример поиска символа "e" в строке:

Пример

var patt = /e/;
patt.test("The best things in life are free!"); 

Из-за наличия "e" в строке, вывод кода будет следующим:

true

Попробуйте сами

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

/e/.test("The best things in life are free!");

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

exec() Метод - это метод регулярного выражения.

Он ищет строку по заданному шаблону и возвращает найденный текст.

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

Ниже приведен пример поиска символа "e" в строке:

Пример

/e/.exec("The best things in life are free!");

Из-за наличия "e" в строке, вывод кода будет следующим:

e

Попробуйте сами

Полное руководство RegExp

Для полного руководства, пожалуйста, посетите наш полный Справочная книга JavaScript RegExp.

Эта справочная книга содержит описание всех свойств и методов RegExp с примерами.