Регулярное выражение или массив выражений
Optionalflags: string = 'ium'Флаги для регулярного выражения (используются, если передана строка)
OptionalcustomReg: RegExpConstructorПроизвольная реализация RegExp (если задана — всегда компилирует через неё)
Исходный RegExp (если он stateless, без customReg и без re2) либо скомпилированное выражение
Возвращает RegExp напрямую, если передан объект RegExp без флагов g/y, не задан customReg и не подключён re2, иначе компилирует через getRegExp. g/y хранят позицию поиска в lastIndex и небезопасны для переиспользования, поэтому такие объекты пересобираются. Избегает повторной компиляции regexp при повторной обработке одного и того же объекта.
При подключённом re2 нативный объект пересобирается через re2 — иначе уязвимое к ReDoS выражение из слота команды выполнялось бы штатным движком Node в обход установленного безопасного движка. Если re2 не поддерживает синтаксис выражения (lookbehind, обратные ссылки), используется исходный объект.