Последние новости:

Поиск по сайту:

Пытка вопрошает, а боль отвечает ...

JavaScript — Регулярные выражения и Объект RegExp

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
15.11.2017
JavaScript - Регулярные выражения и Объект RegExp

Регулярное выражение является объектом, который описывает шаблон символов.

В JavaScript класс RegExp представляет регулярные выражения, и строки и RegExp определяют методы, которые используют регулярные выражения для выполнения мощного поиска по шаблону, функции поиск и замену по тексту.

Синтаксис

Регулярное выражение может быть определено с помощью конструктора RegExp(), а именно:

var pattern = new RegExp(pattern, attributes);

или просто

var pattern = /pattern/attributes;

 

Вот описание параметров:

  • pattern — Строка, определяющая шаблон регулярного выражения или другого регулярного выражения.
  • attributes — Необязательная строка, содержащая любой из атрибутов «g», «i», и «m», которые определяются глобально, не чувствительны к регистру и многострочные совпадения.

Скобки

Скобки ([]) имеют особое значение при использовании в контексте регулярных выражений. Они используются, чтобы найти диапазон символов.

Экспрессия и описание
1[…] — Любой символ в скобках.
2[^…] — Любой символ, не входящий в скобках.
3[0-9] — Соответствует любой десятичной цифры от 0 до 9.
4[a-z] — Соответствует любому символу из строчных от a до z.
5[A-Z] — Соответствует любому символу в верхнем регистре от А до Z.
6[a-Z] — Соответствует любому символу от нижнего регистра а до верхнего регистра Z.

Диапазоны, приведенные выше, являются общими; Вы можете также использовать диапазон [0-3], чтобы соответствовать любой десятичной цифры в диапазоне от 0 до 3, или диапазон [b-v], чтобы соответствовать любому символу в нижнем регистре, начиная от b до v.

Кванторы

Частота или положение заключенных в скобки последовательностей символов и одиночных символов можно обозначить специальным символом. Каждый специальный символ имеет определенную коннотацию. Флаги  +, *, ?, и $ следуют последовательности символов.

Экспрессия и описание
1р + — Соответствует любой строке, содержащей один или более р.
2p* — Соответствует любой строке, содержащей ноль или более р.
3p? — Соответствует любой строке, содержащей не более одного р.
4р{N} — Соответствует любой строке, содержащей последовательность N p,
5р{2,3} — Соответствует любой строке, содержащей последовательность два или три р.
6р{2,} — Соответствует любой строке, содержащей последовательность, по меньшей мере, два р.
7р$ — Соответствует любой строке с р в конце.
8 — Соответствует любой строке с р в начале.

Примеры

Следующие примеры поясняют больше о соответствующих символах.

Экспрессия и описание
1[^A-zA-Z] — Соответствует любой строке, не содержащей любой из символов, начиная от a до z и А до Z.
2p.p — Соответствует любой строке, содержащей р, за которым следует любой символ, в свою очередь, за которым следует другой р.
3^.{2}$ — Соответствует любой строке, содержащей ровно два символа.
4<b>(.*)</b> — Соответствует любой строке, заключенной в <b> и </b>.
5p(hp)* — Соответствует любой строке, содержащей р, за которой следует ноль или более экземпляров последовательности hp.

Буквенные символы

Характер и описание
1Alphanumeric — Собственный
2\0 — Символ NUL (\u0000)
3\t — Табуляция (\u0009)
4\n — Новая линия (\u000A)
5\v — Вертикальная вкладка (\u000B)
6\f — Перевод страницы (\u000C)
7\r — Возврат каретки (\u000d)
8\xnn — Латинский символ задается шестнадцатеричным числом nn; например, \x0A такое же, как \n
9\uxxxx — Символ Юникода задается шестнадцатеричное число хххх; например, \u0009 такое же, как \t
10\сХ — Управляющий символ ^X; например, \cJ эквивалентно символу новой строки \n

Метасимволы

Метасимволы, это просто алфавитный символ предшествует обратной косой черты, которая действует, чтобы дать сочетанию особое значение.

Например, вы можете найти большую сумму денег, используя «\d» метасимвол: /([\d]+)000/, здесь \d будет искать любую строку числового символа.

В следующей таблице перечислены набор метасимволов, которые могут быть использованы регулярные выражения в стиле PERL.

Характер и описание
1. — один символ
2\s — символ пробела (пробел, табуляция, перевод строки)
3\S — символ без пробела
4\d — цифра (0-9)
5\D — не цифра
6\w — символ слово (AZ, AZ, 0-9, _)
7\W — не-буквенный символ
8[\b] — клавиша возврат (частный случай).
9[aeiou] — соответствует одному символу в данном наборе
10[^aeiou] — соответствует одному символу за пределами заданного набора
11(foo|bar|baz) — соответствует любому из указанных вариантов

Модификаторы

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

Модификатор & Описание
1i — Выполните сопоставление без учета регистра.
2m — Указывает, что если строка имеет символы новой строки или возврата каретки, операторы ^ и $ теперь будут соответствовать против границы новой строки, вместо границы строки
3g — Выполняют глобальное соответствие, т.е. находят все соответствия, а не останавливаются после первого соответствия.

Свойства RegExp

Вот список свойств, связанных с RegExp и их описание.

Свойства & Описание
1constructor — Определяет функцию, которая создает прототип объекта.
2global — Указывает, если модификатор «g» установлен.
3IgnoreCase — Указывает, если модификатор«i» установлен.
4lastIndex — Индекс, с которого начинается следующее соответствие.
5multiline — Указывает, если модификатор «m» установлен.
6source — Текст шаблона.

В следующих разделах мы рассмотрим несколько примеров, демонстрирующих использование свойств RegExp.

Методы RegExp

Вот список методов, связанных с RegExp вместе с их описание.

Метод & Описание
1exec() — Выполняет поиск соответствия в строковом параметре.
2test() — Тесты на соответствие в строковом параметре.
3toSource() — Возвращает буквенный объект, представляющий указанный объект; Вы можете использовать это значение для создания нового объекта.
4toString() — Возвращает строку, представляющую определенный объект.

В следующих разделах мы рассмотрим несколько примеров, демонстрирующих использование методов RegExp.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Статьи партнеров:

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить

Спасибо! Ваша заявка принята

close

Спасибо! Ваша заявка принята

close