一个匹配java块注释的正则表达式

       正则N久没碰过了……

       给公司整理软著材料(懂的都懂,微厂就要个自行车而已),一堆代码要按格式要求弄出来。手下无大将,老汉亲自来!,先在word里用一些简单的通配把能去掉都去掉了,后面看了下word的通配规则,感觉不够强大(也许是研究不够深入罢了)。没法,放vs code里去弄,还是正经正则要好使,又去掉年了一些简单的,就在匹配块注释的卡住了(神仙勿笑)。正则我也是懂一些些的,每个符号什么含义我还是懂,可是要用它来表达一个目的明确而要求又很“笼统”的时候,还是有一定的难度,就好比26个字母我全部认识,基本也能读对,但组到一起的时候,大部分我还是不认识的。

       抛给后端:“弄个正则,匹配块注释的。”

       “正则?啥?”

       好吧,大概解释一下,不幻想了。果然若干分钟后给过来一串,眼一瞅就知道肯定不对,都不用测,因为 * 没转义。

       还得自己撸起袖子加油干(微厂就这点好,啥都会点最吃得开、也是干的最多的,自然米是稍多一点点,毕竟不专)。虽说有AI加持,但是有些事AI还是不行的,是真不行。料也喂的没毛病,伦家就是左写也不对右写也不对。还得暴力学习下,再看一下概要说明,上手测试了几遍就出来了,不一定严谨,仅谨供参考【神仙自行飘过】!

       /\*\*(.*+\n)*(\W)*\*/

       /\*\* => /**

       (.*+\n)* => 中间任意多内容【这个不严谨,但能用。暂没遇到特殊情况】

       (\W)* => 匹配零个或多个非字母、数字、下划线

       \*/ => */

       先拿去用,有问题再回来改。

       加油!最棒的菜鸡老辣鸟……

========================================================

       佛了,在vs code中不行,在某测试工具里是没问题。研究下vs code正则规则先!

========================================================

       说是一样一样的,其实还是略有差别,具体差哪里没研究清楚,反正目前弄出来的能用就好,貌似看可高复用。

       以下是表达式:

       \t*\s*/(\s*\*.*?\n)+

       我也知道很不严谨,但没时间深究了,小厂究毛线啊,以结果为导向!

       继续试用中……持续改进

========================================================

       替换内容为 \n ,不然就两行合一行了,代码量就少了……

========================================================

       还是有些问题的,粗过了一遍,发现有些替换全。继续“研究”了一下,更新后的表达式如下,请神仙斧正【我尽量让它严谨些】:

       ^\s*/\*{1,2}\s*\n(.*\n)+?\s*\*\s*/\s*\n

        ^\s* 匹配 前面可有可无的制表符或空格

         /\*{1,2} \s*\n匹配 /** 或 /* 及后面的空白字符到行尾

        (.*\n)+? 非贪婪匹配 中间注释内容

        \s*\*\s*/\s*\n 匹配 */,*/ 前可能会有一个或多个空格,以及 * 和 / 之间的空格【通常为一个】

        替换多行注释,以///或//开头

        ^\s*///?.*\n

       

         单行注释 /** fdhaskjirep */ 或 /* fdhaskjirep */ 或 /*! fdhaskjirep */,有空白先导字符或无

        ^\s*/(\*)+.+?\*/\n

        行尾注释 /** fdhaskjirep */

        /\*\*.+?\*/(?=\n)

        

        行尾注释 // fdhaskjirep

        //.+?(?=\n)

========================================================

                                                                                                                2023-11-06  16:11

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值