const SPECIAL_CHARS = /[-\/\\^$*+?.()|[\]{}]/g; const ESCAPED_CHAR = "\\$&"; const escapeRegExp = (s: string) => s.replace(SPECIAL_CHARS, ESCAPED_CHAR); const regexp = (flags?: string) => (strings: string[], ...values: string[]) => new RegExp(strings[0] + values.map((value, index) => escapeRegExp(value) + strings[index + 1]).join(""), flags);