如何使用groovy删除多行注释?Groovy删除多行注释
/* Use groovy replaceAll regex to
remove this comment */
我将上述文本从文件读入文件对象,然后将其转换为字符串。而如果注释跨越单行线,我可以使用的replaceAll方法删除它张贴如下:
def file = new File('myfile')
def fileString = file.getText()
println fileString.replaceAll('/\\* .* \\*/','')
我曾尝试使用该标志,但我不能让它认我的(M?)模式。我已经尝试了以下陈述,并且它们都不符合我的模式。
fileString.replaceAll('(?m)/\\* (.*) \\*/' ,'') #multiline switch
fileString.replaceAll('(/\\*)(.|\n\r)*(\\*/)' ,'') #match all .* (include \n\r)
我想过使用DotAll,最后的(\ s)和$ {}。但是,我不确定如何将它有效地混合到正则表达式中。任何帮助将受到欢迎。谢谢。
它会删除内容,但会留下空行。我想完全删除文件中的多行注释。谢谢。 – tfmontague
所以只需在表达式中添加换行符:''(?s)/ \\ *。*?\\ */\ n'' – rdmueller