English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Регулярные выражения обычно называются “regex” или “RegExp”, это шаблоны, используемые для соответствия комбинациям символов в строке.
Регулярные выражения являются одними из самых мощных инструментов, доступных сегодня, и могут эффективно обрабатывать и управлять текстом.
Регулярные выражения могут использоваться для выполнения всех типовпоиск текстаизамена текстаоперации.
Регулярные выражения могут быть одним символом, также они могут быть более сложными шаблонами.
В JavaScript, регулярные выражения также являются объектами.
Вы можете создать регулярное выражение одним из следующих способов:
Использование регулярных выраженийтекстсостоит из шаблона, заключенного в косые черты, как показано ниже:
var regex = /w3codebox/g
или вызватьконструироватьфункция, как показано ниже:
var regex = new RegExp("w3codebox", "g");
Примеры:
w3codeboxявляется шаблоном (используется для поиска)
gявляется модификатором (выполняет глобальное соответствие)
falseконструироватьфункция может предоставить компиляцию регулярного выражения в время выполнения.
Когда вы не знаете шаблон и получаете его из других источников (например, из ввода пользователя), используйтеконструироватьфункция.
Примечание:этатекстГрамматика использует косую черту (/pattern/) для упаковки регулярного выражения, а грамматика конструктора использует кавычки ("pattern").
В JavaScript, часто используются три строковых метода с регулярными выражениями:search(),replace()иmatch().
search()Метод использует выражение для поиска совпадений и возвращает положение совпадения.
replace()Метод возвращает измененный строковый объект, в котором заменен шаблон.
match()методы ищут соответствия регулярному выражению в строке и возвращают их в виде объекта Array.
search()Метод выполняет поиск для нахождения соответствия регулярного выражения и строки.
Если найден соответствующий элемент, он вернет положение первого соответствующего элемента, если не найден соответствующий элемент, то вернет-1:
var str = 'The question is to be, or not to be, that is to be.'; var pos = str.search('to be');Проверьте, ‹/›
Ниже приведен пример с использованиемi
Использование модификаторов в регулярных выражениях (не учитывая регистр):
var str = 'The question is TO BE, or not to be, that is to be.'; var pos = str.search(/to be/i);Проверьте, ‹/›
Регулярные выражения могут сделать вашу функцию поиска более мощной (например, без учета регистра).
replace()Метод возвращает новый строковый объект, который содержит часть или все совпадения шаблона и заменен заменяющим элементом.
Первый параметр будет тем значением, которое нужно найти, а второй параметр будет тем значением, которое нужно заменить.
var str1 = 'The question is to be, or not to be, that is to be.'; var str2 = str1.replace('to be', 'ZZZ');Проверьте, ‹/›
по умолчанию,replace()метод заменяет только первый соответствующий элемент.
Для замены всех出现的 содержимого используйтеg
модификаторы регулярного выражения (глобальный поиск):
var str1 = 'The question is to be, or not to be, that is to be.'; var str2 = str1.replace(/to be/g, 'ZZZ');Проверьте, ‹/›
Для замены не различающего регистр кода используйтеi
модификаторы регулярного выражения (не различающие регистр):
var str1 = 'The question is TO BE, or not to be, that is to be.'; var str2 = str1.replace(/to be/gi, 'ZZZ');Проверьте, ‹/›
match()методы ищут соответствия регулярному выражению в строке и возвращают их в виде объекта Array.
var str = 'POLLUTION: Air Pollution is introduction of chemicals to the atmosphere'; var reg = str.match(/ion/g);Проверьте, ‹/›
модификаторы используются для выполнения глобального поиска, различения регистров и многострочного поиска:
модификаторы | описание | Пример |
---|---|---|
g | выполнение глобального соответствия, то есть поиск всех соответствий, а не остановка после первого соответствия | Проверьте |
i | выполнение не различающегося по регистру соответствия | Проверьте |
m | выполнение многострочного соответствия | Проверьте |
модели регулярных выражений включают использование букв, цифр, знаков препинания и группу специальных символов регулярных выражений.
скобки []использование для поиска последовательности символов:
выражение | описание | Пример |
---|---|---|
[abc] | поиск любого символа между квадратными скобками | Проверьте |
[0-9] | поиск любого символа между квадратными скобками (любое количество) | Проверьте |
(x|y) | поиск указанного любого заменителя | Проверьте |
метасимволыявляется простым литеральным символом, предшествующим обратной косой черте, и его роль — придать этой комбинации особое значение:
метасимволы | описание | Пример |
---|---|---|
\d | найти цифру | Проверьте |
\W | поиск не литерального символа | Проверьте |
\s | поиск пробельного символа | Проверьте |
квантитативные мерыуказать положение последовательности символов в квадратных скобках или частоту:
выражение | описание | Пример |
---|---|---|
z+ | соответствие любому содержащему по крайней мере одноzстроки | Проверьте |
z* | соответствие любому содержащему ноль или несколькоzстроки | Проверьте |
z? | соответствие любому содержащему ноль или одно出现zстроки | Проверьте |
В JavaScript объект RegExp — это объект регулярного выражения с предварительно определенными свойствами и методами.
test()Метод ищет шаблон в строке и возвращает true или false в зависимости от результатов.
exec()Метод ищет шаблон в строке и возвращает true или false в зависимости от результатов.
test()Метод выполняет поиск соответствия в указанном строке.
Метод test()Если найден соответствующий элемент, он возвращаетtrue; в противном случае, возвращает.
falsetest()Используйте
var str = "ru.oldtoolbag.com"; var regex = new RegExp("h"); Если вы хотите узнать,找到了 ли в строке шаблон, который вы ищете.Проверьте, ‹/›
var ans = regex.test(str);test()Возвращает булево значение, в отличие отexec()Он возвращает строку.
exec()Метод выполняет поиск соответствия в указанном строке.
Если найден соответствующий элемент, этот метод возвращает соответствующий текст; в противном случае, возвращает null.
var str = "ru.oldtoolbag.com"; var regex = new RegExp("h"); var ans = regex.exec(str);Проверьте, ‹/›
Расчет количества гласных в строке:
Введите текст в поле ввода, чтобы показать количество гласных:
Количество гласных в вводимых символах:
Для полного руководства по свойствам и методам обратитесь к нашемуРеференс JavaScript RegExp.
Часть справки содержит описание и примеры всех свойств и методов RegExp.