Регулярные выражения
Регулярные выражения — инструменты формального языка для поиска и манипуляций со строками с помощью метасимволов.
Возможности
- Поиск текста внутри строк
- Замена подстрок
- Извлечение информации из строк
Способы создания
// Литеральный (компилируется при разборе скрипта)
const re1 = /pattern/
// Через конструктор (компилируется при выполнении)
const re2 = new RegExp('pattern')
Флаги
| Флаг | Значение |
|---|---|
g | Глобальный — найти все совпадения |
i | Без учёта регистра |
m | Многострочный режим |
s | Точка совпадает с переносом строки |
y | Поиск с позиции lastIndex |
u | Поддержка Unicode |
Якоря и символы
^ // начало строки
$ // конец строки
. // любой символ кроме переноса
\d // цифра [0-9]
\w // символ слова [a-zA-Z0-9_]
\s // пробельный символ
Метод .test()
const str = 'Hello World 123'
/World/.test(str) // true
str.match(/\d+/) // ['123']
str.replace(/World/, 'JS') // 'Hello JS 123'