следующая строка javascript выдает ошибку с сообщением только в IE:
SyntaxError: Unexpected Identifier
var result = new RegExp('(?<=\"compliantNotes\": \").*(?=\"\s+\"compliantDetected\":)', 'sgmi').exec(inputString);
Я создал рабочую копию здесь: RegExp Online
Регулярное выражение, похоже, нормально работает в Chrome, возвращая ожидаемый результат, но я не могу понять, почему это вызывает ошибку в IE 11.
Спасибо
Спасибо @ 31piy, я этого не заметил .. это объясняет проблему. Есть ли альтернативный способ добиться того же результата?
@ 31piy Я думал, что в Javascript не поддерживается только просмотр назад отрицательный.
Поиск в Google дал эта почта в качестве первого результата. Вам следует изучить больше, и если это не решит вашу проблему, вам следует провести рефакторинг кода или использовать другой подход.
@Barmar - я не был уверен в этом, поэтому я сначала сослался на документы MDN, и он сообщил о статусе совместимости как неизвестный.
Спасибо @ 31piy Я это только что обнаружил. Я проведу еще несколько исследований / рефакторинга своего кода. Вопрос в том, почему на сайте regex101.com это же регулярное выражение работает в IE?
Если вы переключитесь на JavaScript на regex101 с использованием IE / Edge / Firefox, это не сработает.
спасибо, ребята, все ясно



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Утверждения ретроспективного просмотра не поддерживаются в IE, Firefox и многих других браузерах. Проверьте совместимость браузера в этот стол.