忽略java中的多行注释



我正在编写一个程序,我需要忽略文件中传递的注释。我读了关于正则表达式模式的文章,并且能够忽略单行注释(//…)和多行注释,如果它定义在单行中(//)。但是我在忽略多行注释时遇到了困难,如下所示:

>

/* ..................…*/

单行我用

"//.*$"

第二个

"/ *。* */"

我甚至在某个地方读到,勉强量词会有所帮助…尝试使用regex和不情愿量词的不同模式…没有欢乐. .有人能帮我一下吗?

谢谢

我想它会对你有用的:

/*([^*]|[rn]|(*+([^*/]|[rn])))**+/

或者对于单行和多行注释:

(/*([^*]|[rn]|(*+([^*/]|[rn])))**+/)|(//.*)

.通常不匹配r, n等新行字符。然而,你可以使用DOT_ALL来改变这种行为。这与(?s)相同。

"(?s)/\*.*\*/"
"/\*[.rn]*\*/"

这个替换应该在处理单行注释之前完成。并且.不应该匹配新行

谢谢大家的建议。然而,我得到了一个精确的解…该模式"(?)/ * + ?*/"可以很好地删除多行注释..

您可以使用以下方法来解决您的问题"(?)/ *。 /"/[。 r n] /"

相关内容

  • 没有找到相关文章

最新更新