StackOverflowerr-Java

StackOverflowerr-Java,java,regex,stack-overflow,Java,Regex,Stack Overflow,我想从Java代码中删除所有多行注释,我正在使用下面的正则表达式,这会导致StackOverflowerError String regexMultiLine=“(?)不是我不想删除的注释的开头 我如何重新编写这个正则表达式,使它不会引起这个问题?您的程序大概不需要太多的总内存(一个源文件不能那么大)。您是否尝试过使用-Xss123m增加堆栈大小(其中123可以是您需要的任何值)?假设您的正则表达式工作(您是否在一些非常简单的测试用例上尝试过)它只是在一个更大的文件上遇到了问题,我建议测试堆栈大

我想从Java代码中删除所有多行注释,我正在使用下面的正则表达式,这会导致
StackOverflowerError

String regexMultiLine=“(?)不是我不想删除的注释的开头


我如何重新编写这个正则表达式,使它不会引起这个问题?

您的程序大概不需要太多的总内存(一个源文件不能那么大)。您是否尝试过使用-Xss123m增加堆栈大小(其中123可以是您需要的任何值)?假设您的正则表达式工作(您是否在一些非常简单的测试用例上尝试过)它只是在一个更大的文件上遇到了问题,我建议测试堆栈大小的一些增加,看看是否有一个合理的点允许它完成。

实现一个简单的FSM可能比尝试使用正则表达式更容易。它似乎对一些文件有效,但对其他文件无效,我无法控制可能会改变的文件在大小和数量上都是e。那么我肯定建议只增加堆栈大小。即使上限永远不知道?当然,没有实际的上限。但必须有一个相当实用的最大文件大小,你可以设定。如果你有一个工作的正则表达式,这比编写这部分代码更容易。