检索代码中的纯英文注释

检索代码中的纯英文注释

  1. 问题分析
    (1)检索需要跨行
    (2)检索内容是包含\t\n\r和字符’0’-’~'之间的ascii码
    (3)检索工具使用grep(notepad++/source insight携带的正则式工具很难完成跨行匹配)
  2. 解决方法
    (1)修改linux编码为en_US,使用grep就不会匹配到中文,但可能出现乱码和误匹配
    (2)直接检索ascii码(推荐)
  3. 实施方法
    使用grep,并使用Perl正则式,其他流派正则式在书写上可能有一定差异。
    -P:使用Perl正则式
    -z:跨行匹配
    -o:只输出匹配到的内容
    -n:输出行号

(1)匹配ascii码正则式:

/**/型注释匹配:/\*[\t\n\r -.0-~]+\*/
//型注释匹配://[\t\n\r -~]+$

(2)多行纯英文注释检索(/**/型注释)

grep -Pzon "/\*[\t\n\r -.0-~]+\*/"

注:因受贪婪匹配的影响,所匹配的英文注释内容不包含’/'字符。
(3)单行纯英文注释检索(//型注释)

grep -Pn "//[\t\n\r -~]+$"
发布了24 篇原创文章 · 获赞 53 · 访问量 3958

猜你喜欢

转载自blog.csdn.net/weixin_44413515/article/details/105159267