Регулярное выражение - это объект, который описывает шаблон символов.
Содержание:
Класс JavaScript RegExp представляет собой регулярные выражения, и как String, так и RegExp определяют методы, которые используют регулярные выражения для выполнения мощных функций сопоставления и поиска и замены текста.
СинтаксисРегулярное выражение может быть определено с помощью конструктора RegExp()
, а именно:
var pattern = new RegExp(pattern, attributes);
или проще -
var pattern = /pattern/attributes;
Вот описание параметров -
- Pattern - Строка, которая задает шаблон регулярного выражения или другого регулярного выражения.
- Attributes - необязательная строка, содержащая любые атрибуты «g», «i» и «m», которые определяют глобальные, не зависящие от регистра и многострочные совпадения, соответственно.
Скобки в RegExp
Скобки ([]) имеют особое значение при использовании в контексте регулярных выражений. Они используются для поиска диапазона символов.
Выражение | Описание |
---|---|
[...] | Любой символ между скобками. |
[^...] | Любой символ не находится между скобками. |
[0-9] | Он соответствует любой десятичной цифре от 0 до 9. |
[AZ] | Он соответствует любому символу от нижнего регистра a до нижнего регистра z. |
[AZ] | Он соответствует любому символу в верхнем регистре A в верхнем регистре Z. |
[Az] | Он соответствует любому символу от нижнего регистра a до верхнего регистра Z. |
Диапазоны, показанные выше, являются общими; вы также можете использовать диапазон [0-3] для соответствия любой десятичной цифре в диапазоне от 0 до 3 или диапазону [bv], чтобы соответствовать любому строчному символу в диапазоне от b до v.
Кванторы
Частоту или положение заключенных в скобки символьных последовательностей и одиночных символов можно обозначить специальным символом. Каждый особый символ имеет конкретную коннотацию. Все символы +, *,? И $ соответствуют последовательности символов.
Выражение | Описание |
---|---|
p+ | Он соответствует любой строке, содержащей хотя бы один p. |
p* | Он соответствует любой строке, содержащей ноль или более p. |
p? | Он соответствует любой строке, содержащей один или несколько p. |
p{N} | Он соответствует любой строке, содержащей последовательность из N p |
р{2,3} | Он соответствует любой строке, содержащей последовательность из двух или трех p. |
p{2,} | Он соответствует любой строке, содержащей последовательность не менее двух p. |
р$ | Он соответствует любой строке с p в конце ее. |
^p | Он соответствует любой строке с p в начале ее. |
Следующие примеры объясняют больше о совпадении символов.
Выражение | Описание |
---|---|
[^A-Za-Z] | Он соответствует любой строке, не содержащей ни одного символа в диапазоне от a до z и от A до Z. |
p.p | Он соответствует любой строке, содержащей p, за которой следует любой символ, в свою очередь, за которым следует другой p. |
^.{2}$ | Он соответствует любой строке, содержащей ровно два символа. |
b(.*)/b | Он соответствует любой строке, заключенной внутри b и /b. |
p(hp)* | Он соответствует любой строке, содержащей p, за которой следуют ноль или более экземпляров последовательности hp. |
Буквенные символы в RegExp
Выражение | Описание |
---|---|
Alphanumeric | Self |
\ 0 | Символ NUL (\ u0000) |
\ т | Вкладка (\ u0009) |
\ п | Новая строка (\ u000A) |
\ v | Вертикальная вкладка (\ u000B) |
\ е | Подача формы (\ u000C) |
\р | Возврат каретки (\ u000D) |
\ Хпп | Латинский символ, заданный шестнадцатеричным числом nn; например, \ x0A совпадает с \ n |
\uxxxx | Символ Юникода, заданный шестнадцатеричным числом xxxx; например, \ u0009 совпадает с \ t |
\ сХ | Управляющий символ ^ X; например, \ cJ эквивалентно символу новой строки \ n |
Метасимволы RegExp
Метасимвол - это просто алфавитный символ, которому предшествует обратная косая черта, которая действует, чтобы придать комбинации особое значение.
Например, вы можете искать большую сумму денег, используя метасимвол '\ d': / ([\ d] +) 000 /, Здесь \ d будет искать любую строку числового символа.
В следующей таблице приведен список метасимволов, которые могут использоваться в регулярных выражениях типа PERL.
Выражение | Описание |
---|---|
. | один символ |
\s | символ пробела (пробел, табуляция, новая строка) |
\S | не-пробельный символ |
\d | цифра (0-9) |
\D | не цифра |
\w | символ слова (a-z, A-Z, 0-9, _) |
\W | символ без слова |
[\b] | буквальное обратное пространство (специальный случай). |
[aeiou] | соответствует одному символу в заданном наборе |
[^aeiou] | соответствует одному символу за пределами заданного набора |
(foo|bar|baz) | соответствует любой из указанных альтернатив |
Модификаторы RegExp
Доступны несколько модификаторов, которые могут упростить работу с регрессией, например, чувствительность к регистру, поиск по нескольким строкам и т.д.
Выражение | Описание |
---|---|
i | Выполните нечувствительность к регистру. |
m | Указывает, что если строка имеет символы новой строки или символа возврата каретки, операторы ^ и $ теперь будут сопоставляться с границей новой строки, а не с границей строки |
g | Выполняет глобальное соответствие, которое соответствует всем совпадениям, а не остановке после первого совпадения. |
Свойства RegExp
Ниже приведен список свойств, связанных с RegExp и их описанием.
Свойство | Описание |
---|---|
constructor | Указывает функцию, которая создает прототип объекта. |
global | Указывает, установлен ли модификатор «g». |
ignoreCase | Указывает, установлен ли модификатор «i». |
lastIndex | Индекс, с которого нужно начать следующий матч. |
multiline | Указывает, установлен ли модификатор «m». |
source | Текст шаблона. |
Методы RegExp
Ниже приведен список методов, связанных с RegExp, а также их описание.
Свойство | Описание |
---|---|
exec() | Выполняет поиск соответствия в своем строковом параметре. |
test() | Тесты для соответствия в параметре строки. |
toSource() | Возвращает литерал объекта, представляющий указанный объект; вы можете использовать это значение для создания нового объекта. |
toString() | Возвращает строку, представляющую указанный объект. |
Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!
Новые статьи
- JS База данных - фильтрация записей. Часть 2 - 15/12/2019 05:21
- JavaScript - Совместимость с браузерами - 08/09/2018 15:52
- JavaScript - Карта изображений - 08/09/2018 15:52
- JavaScript - отладка - 08/09/2018 15:51
- JavaScript - Мультимедиа - 08/09/2018 15:51
- JavaScript - анимация - 08/09/2018 15:50
- JavaScript - подтверждение формы - 08/09/2018 15:50
- JavaScript - Обработка ошибок и исключений - 08/09/2018 15:49
- JavaScript - Объектная модель документа или DOM - 08/09/2018 15:49
Предыдущие статьи
- JavaScript - объект Math - 08/09/2018 15:48
- JavaScript - объект Date - 08/09/2018 15:48
- JavaScript - объект Array - 08/09/2018 15:47
- JavaScript - объект Strings - 08/09/2018 15:47
- JavaScript - логические объекты - 08/09/2018 15:46
- JavaScript - Числовые объекты - 08/09/2018 15:46
- JavaScript - Обзор объектов - 08/09/2018 15:45
- JavaScript - Печать страницы - 08/09/2018 15:45
- JavaScript - Void - 08/09/2018 15:45
- JavaScript - диалоговые окна - 08/09/2018 15:44
- JavaScript - Redirect - 08/09/2018 15:44
- JavaScript и Cookies - 08/09/2018 15:43
- JavaScript - События - 08/09/2018 15:43
- JavaScript - функции - 08/09/2018 15:42
- JavaScript - управление циклом - 08/09/2018 15:41
- JavaScript - цикл for ... in - 08/09/2018 15:41
- JavaScript - For цикл - 08/09/2018 15:40
- JavaScript - циклы - 08/09/2018 15:40
- JavaScript - switch-case - 08/09/2018 15:39
- JavaScript - if ... else - 08/09/2018 15:39