繁体   English   中英

Groovy删除多行注释

[英]Groovy remove multiline comment

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

试试这个表达式:

'(?s)/\\*.*?\\*/'

(?m)没有. 匹配新行, (?s)做到了。

做类似的事情

/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/

为正则表达式部分工作?

(来自http://ostermiller.org/findcomment.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM