Совпадение последовательностей пробелов
- Используйте метапоследовательность
\sдля соответствия любому символу пробела, включая пробелы, табуляции, новые строки и т. д. - Используйте квантификатор
+для сопоставления одного или нескольких вхождений предыдущего символа. - Добавьте глобальный флаг (
g), чтобы сопоставить все вхождения шаблона в строке.
const регулярное выражение = /\s+/g;
Совпадение разрывов строк
- В зависимости от среды разрывы строк могут быть представлены по-разному.
- Используйте символ
\rдля соответствия возврату каретки, символ\nдля соответствия символу новой строки и последовательность\r\n для соответствия возврату каретки, за которым следует перевод строки.
- Добавьте глобальные (
g) и многострочные (m) флаги для соответствия всем вхождениям шаблона в строке.
const регулярное выражение = /\r|\n|\r\n/gm; 9((?!(abc|bcd)).)*$/; // Где 'abc' и 'bcd' - шаблон, который вы хотите исключить
Текст внутри скобок
- Используйте символы
\(и\)для соответствия открывающей и закрывающей скобкам соответственно. - Используйте группу захвата между ними и исключите символ закрывающей скобки.
- Используйте квантификатор
+для соответствия одному или нескольким символам, если необходимо. - Добавить глобальный флаг (
г 9(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\ д{4}$/;Разбить строку на куски размером n
- Используйте квантификатор
.для соответствия любому символу между
{1,n} 1иnраз. - Добавьте глобальный флаг (
g), чтобы сопоставить все вхождения шаблона в строке.
const регулярное выражение = /.{1,2}/g; // Где «2» — количество символов в чанкеПо сценарию Ангелоса Чалариса
Меня зовут Ангелос Чаларис, инженер-программист JavaScript из Афин, Греция. Лучшие фрагменты из моих приключений в программировании публикуются здесь, чтобы помочь другим научиться программировать.
Если вы хотите оставаться на связи, подписывайтесь на меня Гитхаб.
Шпаргалки
Коллекция шпаргалок, которые можно добавить в закладки и возвращаться к ним всякий раз, когда вам нужно что-то найти.
Коллекция · 15 фрагментов
Памятка по регулярным выражениям
Регулярные выражения — очень полезный инструмент.
Сохраните эту шпаргалку на случай, если вам понадобится изучить их синтаксис и ускорить разработку.JavaScript, String · 12 июня 2021 г.
6 функций регулярных выражений JavaScript, которые вы можете использовать уже сегодня
Узнайте, как эффективно использовать регулярные выражения JavaScript с помощью этих 6 мощных функций.
JavaScript, String · 12 июня 2021 г.
Escape RegExp
Экранирует строку для использования в регулярном выражении.
JavaScript, String · 15 сентября 2020 г.
‼️ Разница между String.match() и String.matchAll()
String.match()String.match()это метод в JavaScript, который возвращает массив результатов, соответствующих строке регулярному выражению.const регулярное выражение = /t(e)(st(\d?))/g константная строка = 'test1test2' константные результаты = string.match (регулярное выражение) console.log(результаты) // → ['тест1', 'тест2']
Возвращаемые результаты зависят от
глобальный(г)флаг.
Если используется флаг g, мы получим все результаты, но без захвата групп. Если мы удалим флагgиз регулярного выражения, мы получим все группы захвата, но мы получим только первое совпадение. Это выглядит так:const regex = /t(e)(st(\d?))/ константная строка = 'test1test2' константные результаты = string.match (регулярное выражение) console.log(результаты) // → ['test1', 'e', 'st1', '2', index: 0, input: 'test1test2', groups: undefined]
Эта строка содержит второе возможное совпадение, начинающееся с
'test2', но у нас его нет. Если совпадений нет, методmatch()возвращает null. Теперь вопрос: как получить все группы захвата для каждого совпадения? Вот гдеString.matchAll()вступает в игру.String.prototype.matchAll()String.matchAll()возвращает итератор, который возвращает все совпавшие группы с регулярным выражением, включая захваченные группы.
Одна из основных причин использования matchAll()болееmatch()— это возможность доступа к группам захвата.const регулярное выражение = /t(e)(st(\d?))/g константная строка = 'test1test2' константные совпадения = строка.matchAll (регулярное выражение) Array.from(совпадения, console.log) // -> ['test1', 'e', 'st1', '1', index: 0, input: 'test1test2', groups: undefined] // ->
['test2', 'e', 'st2', '2', index: 5, input: 'test1test2', groups: undefined]В отличие от
match(), которая возвращает массив при глобальном поиске,matchAll()возвращает итератор, который создает массив для каждого совпадения, который также работает с цикламиfor…of. Если совпадений нет,метод matchAll()возвращает пустой итерируемый объект.Итератор создает массив для каждого совпадения, включая группы захвата с несколькими дополнительными свойствами, такими как
index,inputиgroups.
- Используйте квантификатор


{1,n}
Сохраните эту шпаргалку на случай, если вам понадобится изучить их синтаксис и ускорить разработку.
Если используется флаг
Одна из основных причин использования 