如何使用 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) 和 ${}。但是,我不确定如何有效地将它混合到正则表达式中。欢迎任何帮助。谢谢。