Разговор о раздражающих регулярных выражениях

внешний интерфейс JavaScript регулярное выражение
Разговор о раздражающих регулярных выражениях

Это 4-й день моего участия в августовском испытании обновлений.Подробности о событии:Испытание августовского обновления

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

Введение в регулярные выражения

Регулярное выражение (Regular Expression): регулярное выражение — это логическая формула для работы со строками, которая заключается в использовании некоторых предопределенных определенных символов и суммы этих конкретных символов для формирования «строки правила». логика фильтрации строк.

Роль регулярных выражений

  1. Соответствует ли данная строка логике фильтрации (соответствию) регулярного выражения.
  2. Мы можем получить нужную нам часть (извлечь) из строки с помощью регулярных выражений.
  3. Мощная возможность замены строки (replace).

Особенности регулярных выражений

  1. Гибкость, логика и функциональность без износа.
  2. Сложное управление струнами может быть достигнуто быстро и очень просто.

Синтаксис регулярных выражений

Онлайн-тест регулярный

Состав регулярных выражений

  • нормальные символы abc китайский 123 и т. д.
  • Специальные символы (метасимволы, квалификаторы, скобки): символы со специальным значением в регулярных выражениях.

метасимвол

Метасимволы — это символы, имеющие особое значение в регулярных выражениях.

метасимвол инструкция
\d совпадение чисел
\D совпадать с нецифрами
\w Совпадение букв или цифр или символ подчеркивания_
\W Соответствует не буквенно-цифровым символам, числам, знакам подчеркивания_
\s соответствовать пробелу (пробелу)
\S соответствие без пробелов
. соответствует любому одиночному символу, кроме новой строки (ввод)

квалификатор

Квалификатор — это количество раз, когда появляется управляющий символ, а количество символов ограничено.

квалификатор инструкция
n* Соответствует любой строке, содержащей ноль или более n. п{0,}
n+ Соответствует любой строке, содержащей хотя бы один n. п{1,}
n? Соответствует любой строке, содержащей ноль или один n. {0,1}
n{x} Соответствует строке, содержащей x последовательностей n.
n{x,} Соответствует строке, содержащей не менее x последовательностей n.
n{x,y} Соответствует строке, содержащей от x до y последовательностей n.
n$ Соответствует любой строке, оканчивающейся на n.
^n Соответствует любой строке, начинающейся с n.
Уведомление:
  1. Когда используется регулярное выражение, проверяется вся строка, и она может быть сопоставлена ​​только в том случае, если она полностью совпадает. Иначе не совпадает.
  2. Ввиду ограничения количества раз в фигурных скобках, при сопоставлении строк первое совпадение в прошлом, сначала по максимальному количеству раз, а если оно не соответствует максимальному количеству раз, то по меньшему совпадению .
  3. Когда ограничение количества раз в фигурных скобках не менее 0, то если в строке нет совпадающего элемента, то она удовлетворяет требованиям, а если символы в строке не совпадают, то она также удовлетворяет требованиям.

квадратных скобках

Скобка представляет строку, а цель скобок — управлять областью действия символа.

квадратных скобках инструкция
[abc] Находит любой символ между скобками.
[^abc] Найдите любой символ, который не находится в квадратных скобках, ^ означает отрицание в квадратных скобках.
[0-9] Найдите число от 0 до 9.
[a-z] Находит символ от любой строчной буквы a до строчной буквы z.
[A-Z] Найдите любой символ от заглавной A до заглавной Z.
[A-z] Найдите букву (включая регистр и подчеркивание).
[[\u4e00-\u9fa5]] Найдите китайский иероглиф.

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

или режим

Специальные символы: обычный1|обычный2 или. Матч или одна из двух сторон может быть сопоставлена.

Например: google, baidu, bing; // соответствует одной из трех строк

Обычный: google|baidu|bing

режим группировки

Специальные символы: (обычные) ;

Группа относится к небольшой группе, а группировка состоит в разделении большой группы на несколько небольших групп.

Например: контролировать количество раз, когда ваше имя появляется подряд, не менее 1 раза, не более 3 раз

Обычный: ^(брюс){1,3}$

модификатор

  • g, полное имя global, имеет значение global, указывающее глобальное соответствие. как:var reg = /hello/g;
  • i, полное название ignore, имеет значение игнорировать, игнорировать, что означает, что при сопоставлении букв верхний и нижний регистр букв может быть проигнорирован. как:var reg = /hello/i;
  • gi, совпадение glob и игнорирование регистра используются вместе. как:var reg = /hello/gi;

Обычный escape-символ

Представляет специальные символы в регулярном выражении. Чтобы удалить особое значение ., его нужно экранировать:\.

Использование регулярных выражений в js

объект регулярного выражения

  • Создайте объект регулярного выражения
/**
方式1: 语法: var 变量 = new RegExp("规则","修饰符")
*/
var reg = new RegExp('\\d','g')
/**
方式2: 语法:var 变量 = /正则表达式/ (推荐使用)
*/
var reg = /\d/g;
  • Обнаружение совпадений: обычные объектыТест (строка); Средство для определения того, соответствует ли строка символов правилу. Вернуть истину и ложь

Обычное использование метода строкового объекта

  • String.match(обычный объект); Получите подстроку, соответствующую обычному объекту, и верните массив.
  • String.replace(обычный объект, замененное содержимое); Заменить совпадающую обычную подстроку. Возвращает замененную строку.

Ставьте лайки и поддерживайте, оставляйте ненавязчивый аромат в руке, и будьте почитаемы, спасибо, что оставили свои следы.

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