Как удалить многострочные комментарии в стиле C, например:
/* comments
comments
comments
comments */
Я могу удалить комментарии в одной строке, например /* comments */
, используя несколько кодов, указанных в других вопросах.
s#/\*[\s\S]*?\*/##sg;
s#/\*(.*?)\*/##sg;
s#/\*[^*]*\*+([^/*][^*]*\*+)*/|("(\\.|[^"\\])*"|'(\\.|[^'\\])*'|.[^/"'\\]*)#defined $2 ? $2 : ""#gse
Все три приведенных выше регулярных выражения не работают с многострочными комментариями. Как с ними справиться?
s/\/\*(?:(?!\*\/).)*\*\/\n?//sg foreach (@lines)
удаляет однострочные комментарии, но не многострочные комментарии. Любые идеи? 29.12.2014-00
? Вы хотели использовать режим slurp-0777
? 29.12.201400pe
не будет работать, если между/*
и*/
будет пустая строка 29.12.2014