Регулярное выражение для сопоставления / замены комментариев JavaScript (как многострочных, так и встроенных)

Мне нужно удалить все комментарии JavaScript из источника JavaScript с помощью объекта JavaScript RegExp.

Мне нужен шаблон для RegExp.

На данный момент я нашел это:

compressed = compressed.replace(/\/\*.+?\*\/|\/\/.*(?=[\n\r])/g, '');

Этот шаблон работает нормально для:

/* I'm a comment */

или для:

/*
 * I'm a comment aswell
*/

Но, похоже, не работает для встроенного:

// I'm an inline comment

Я не совсем эксперт для RegEx и его шаблонов, поэтому мне нужна помощь.

Кроме того, я хотел бы иметь шаблон RegEx, который удалял бы все эти HTML-подобные комментарии.

<!-- HTML Comment //--> or <!-- HTML Comment -->

А также эти условные HTML-комментарии, который можно найти в различных источниках JavaScript.

Спасибо.

38
задан Filipp W. 22 November 2017 в 09:54
поделиться