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

Регулярные выражения — инструменты формального языка для поиска и манипуляций со строками с помощью метасимволов.

Возможности

Способы создания

// Литеральный (компилируется при разборе скрипта)
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'