用正则表达式在java怎么去匹配注释 //的单行注释 /*单行注释*/ /* *多行注释 */

 我来答
againinput4
推荐于2017-11-28 · TA获得超过2407个赞
知道大有可为答主
回答量:1446
采纳率:70%
帮助的人:641万
展开全部
先说结果:
我是测试出来了正则表达式,但是是针对三种注释,写了三种正则。
没有实现单一的正则表达式,支持所有的注释类型的。
代码你可以参考参考:

//单行注释
String commentsStr = "//this is single line comments";
Pattern singleLineCommentP = Pattern.compile("^//.*?$");
Matcher foundSingleLineComment = singleLineCommentP.matcher(commentsStr);
boolean foundSingle = foundSingleLineComment.matches();
System.out.println(foundSingleLineComment);
System.out.println(foundSingle);

/*单行注释*/
String doubleStarCommentStr = "/* this is double star comments */";
Pattern doubleStarCommentP = Pattern.compile("^/\\*.*?\\*/$");
Matcher foundDoubleStarComment = doubleStarCommentP.matcher(doubleStarCommentStr);
boolean foundDouble = foundSingleLineComment.matches();
System.out.println(foundDoubleStarComment);
System.out.println(foundDouble);

/*
*多行注释
*/

String multiLineComments = "/* \n" +
"* this is \n" +
"* multi line comment \n" +
"*/";
Pattern multiLineCommentP = Pattern.compile("^/\\*.*\\*/$", Pattern.DOTALL);
Matcher foundMultiLineComment = multiLineCommentP.matcher(multiLineComments);
boolean foundMulti = foundMultiLineComment.matches();
System.out.println(foundMultiLineComment);
System.out.println(foundMulti);

感兴趣的话,可以去看看我总结的:
crifan 正则表达式学习心得

(此处不给贴地址,请用google搜标题,即可找到帖子地址)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cmoooo
2012-12-01 · TA获得超过3587个赞
知道小有建树答主
回答量:741
采纳率:0%
帮助的人:671万
展开全部
\/\*[\w\W]*?\*\/|\/\/.*
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b98ec89271
2012-11-30 · TA获得超过100个赞
知道小有建树答主
回答量:232
采纳率:0%
帮助的人:143万
展开全部
^//.*$|^/\*.*\*/$|^/\*\*.*$|^\*.*$|.*\*/$
追问
不能用呀
追答
可以用啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式