gpt4 book ai didi

regex - 删除多行 C 样式/*注释*/使用 Perl 正则表达式

转载 作者:行者123 更新时间:2023-12-01 12:38:09 25 4
gpt4 key购买 nike

如何删除多行 C 风格的注释,例如:

/* comments
comments
comments
comments */

我可以通过使用其他问题中提供的几个代码来删除一行中的注释,例如 /* comments */

s#/\*[\s\S]*?\*/##sg;
s#/\*(.*?)\*/##sg;
s#/\*[^*]*\*+([^/*][^*]*\*+)*/|("(\\.|[^"\\])*"|'(\\.|[^'\\])*'|.[^/"'\\]*)#defined $2 ? $2 : ""#gse

上面的所有三个正则表达式都不适用于多行注释。如何处理它们?

最佳答案

我愿意,

perl -0777pe 's/\/\*(?:(?!\*\/).)*\*\/\n?//sg' file

例子:

$ cat fi
/* comments
comments
comments
comments */
bar
$ perl -0777pe 's/\/\*(?:(?!\*\/).)*\*\/\n?//sg' fi
bar

关于regex - 删除多行 C 样式/*注释*/使用 Perl 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27682363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com