Я извлекаю регулярное выражение из внешнего API, и оно возвращается в виде строки.Я хочу использовать регулярное выражение для проверки адреса, но, похоже, не могу должным образом экранировать нежелательные символы после вызова new RegExp()
в строке.
Вот регулярное выражение, которое я хочу использовать:
console.log(regexFromAPI);
Вывод
/((\W|^)box\s+(#\s*)?\d+|post\s+office|(\W|^)p\.?\s*o\.?\s+(#\s*)?\d+)/i
Однако я не могу использовать это - мне нужно, чтобы это было на самом деле регулярное выражениесначала.
Если я это сделаю, например:
const pattern = new RegExp(regexFromAPI);
, а затем:
console.log(pattern);
Я получуследующее:
Вывод
//((W|^)boxs+(#s*)?d+|posts+office|(W|^)p.?s*o.?s+(#s*)?d+)/i/
Мой вопрос ... почему это происходит, и как я могу избежать этого?Я хочу использовать мой строковый литерал в качестве регулярного выражения.
Заранее спасибо.