Однако, если вам нужно обойтись только с помощью регулярных выражений, существует действительно не слишком сложное решение:
"/ *" ([^ *] | (\ * + [^ * /])) * \ * + \ /
Полное объяснение и вывод этого регулярного выражения превосходно разработаны на
здесь .
Короче:
"/ *" отмечает начало комментария
([^ *] | (\ * + [^ * /])) * говорит, что принимает все символы, которые не являются * ([^ *]), или принимает последовательность из одного или нескольких *, пока последовательность после него нет ни «*», ни «/» ((* + [^ * /])). Это означает, что будут приняты все последовательности ****** ... за исключением ***** /, поскольку вы не можете найти там последовательность *, за которой не следует * или / /.
Случай ******* / обрабатывается последним битом RegEx, который соответствует любому числу *, за которым следует /, чтобы обозначить конец комментария, т. Е. \ * + \ /