在报价之外发表评论的正则表达式

时间:2015-05-21 18:09:32

标签: java regex parsing

我试图从给定的行中删除表单(/* comment*/)的注释,但我不想删除引号内的注释。例如,如果我有以下行:

(this /* is "dd" a*/ line "we are /* inside a*/ quote" end of /* the line*/)

我正在寻找正确的正则表达式(在替换所有方法的帮助下)以获得以下结果:

(this  line "we are /* inside a*/ quote" end of )

我对正则表达式知之甚少 - 感谢帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

在Java中,您可以使用此正则表达式:

str = str.replaceAll("(?=(?:(?:[^\"]*\"){2})*[^\"]*$)/\\*.*?\\*/", "");

RegEx Demo

如果这些正则表达式在双引号之外,通过使用前瞻来确保在评论块之前有偶数引号,这个正则表达式将会找到。