正则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