我有java代码,我想解析C文件并查找所有注释。
为了查找以/*
开头且以*/
结尾的行或行的所有注释,我使用此正则表达式:Pattern.compile("/\\*(?:.|[\\n\\r]|[\\n])*?\\*/")
问题是某些输入导致堆栈溢出。
我读到了这个问题并理解我将避免在正则表达式中使用|
。我是正则表达世界的新手。有人可以帮我简化一下吗?
答案 0 :(得分:1)
您的换行处理不正确。
尝试使用它:
Pattern.compile("/\\*.*?\\*/", Pattern.MULTILINE|Pattern.DOTALL);
这样,您的.
字符也可以匹配换行符。