/\*\s*(?!@)(?:(?!\*/).)*\*/
Разбивается как:
/\* // "/*"
\s* // optional space
(?!@) // not followed by "@"
(?: // don't capture...
(?!\*/). // ...anything that is not "*/"
)* // but match it as often as possible
\*/ // "*/"
Используется в режимах "global" и "dotall" (например, точка также должна соответствовать новым линиям)
Обычное слово с предупреждением: Как и для всех заданий синтаксического анализа, выполняемых с регулярными выражениями, произойдет сбой для вложенных шаблонов и неправильного ввода.
emk указывает на хороший пример (иначе допустимого) ввода, который вызовет разрыв этого выражения. С этим ничего не поделаешь, регулярное выражение не для анализа. Если вы уверены, что подобные вещи никогда не появятся на вашем входе, регулярное выражение все равно будет работать для вас.