• sublime查看项目代码多少行


    ---------------------sublime   0.右击要查找的文件; 1.勾选正则( .* ); 3.输入正则表达式 ^[ t]*[^ tnr]+.*$

    0:搜索 n

    是不是感觉有点麻烦?还要运算,这种方法可不是我们想要的!不过别急,还是“在文件中查找”,勾选“正则表达式”选项,我们换正则表达式。要达到刚刚的效果,我们可以很简单地搜索 ^ 或者$ 。正则表达式中, ^ 表示行首, $ 表示行尾,所以这样的查询就能够查出一共有多少个行首或行尾,也就是代码行数。

    1:搜索 ^

    2:搜索 $

    为了更严谨,也为了下文的进一步探索,这里我们搜索 ^.*$ ,表示搜索条件为行首与行尾之间包含任意个任意字符(非换行符)。 . 表示除换行符外的所有字符, .* 表示0到任意多个 . 。

    0:搜索 ^.*$

    上面的方法可以很迅速地得到代码行数,不过遗憾的是统计结果把空行(仅包含空格和制表符的行)也统计进去了,然而很多时候我们并不想把这些文本也给算进代码量里去,怎么办呢?别急,我们只要对正则表达式做一点点修改。我的思路是,只需要找出一个不是空格或制表符的字符即可,于是我写出了这个正则表达式 ^[ t]*[^ tnr]+.*$ ,它表示先忽略一行前面的连续空格和制表符,然后寻找是否有一个字符不为空格、制表符、换行符和回车符,如果有则表明这行不为空行。到这里为止,我们可以写出 ^[ t]*[^ tnr]+ ,这个正则也是可以工作的,不过我习惯把一行写完整。

    也许有人会写出类似于 ^s*S+.*$ 或者 ^:b*[^:b]+.*$ 这样的正则,不过经我测试,或多或少存在兼容性问题,主要存在两个问题:
    1. s 可能包含 r ,那么 ^s* 匹配空行的时候可能会穿透到后面的文本行,直到某一行不为空,这种方法可能无法排除文本内部的空行;
    2. :b 这样的写法并不是所有的正则解释器都能识别,不建议使用。Visual Studio 2012也已经抛弃这种写法,改为 [ t] 。

    图0:搜索 ^[ t]*[^ tnr]+.*$

    -----------------------------

    在实际项目中,我们或许认为注释行不应成为生产量,应从统计数据中排除出去。似乎这个问题棘手得多。不过别担心,只要善于利用正则表达式,这个问题也能轻松解决。

    我们首先要能够对注释行有一个认识。很多程序设计语言中,注释行都会用“/”或者“#”等字符开头。我们假设项目中的注释行都是以“/”或“#”开头的(请读者考虑自己项目的特点自行修改),那么我们要查找的是一行中第一个非空字符不是“/”和“#”的行。跟上一节类似地,我们可以写出^[ t]*[^ tnr/#]+.*$ 。同样,为了更好的兼容性,这里我避免使用 s 和 :b 。

    图0:搜索 ^[ t]*?[^ tnr/#]+?.*$ ,此处的 ? 不是必需的

    本文旨在介绍一种思路,用最简单的工具实现看似复杂的功能,省力又高效。也许你还有更好更巧的点子,欢迎与我分享。

  • 相关阅读:
    Javascript 闭包
    纯CSS实现侧边栏/分栏高度自动相等
    css实现16:9的图片比例
    CSS实现宽高成比例缩放
    div等比例缩放-------纯CSS实现自适应浏览器宽度的正方形
    websocket 实现简单网页版wechat
    Flask 简单使用,这一篇就够了!
    图灵机器人 V1 和 V2 接入方法
    Django中的cookie和session
    django 三件套(render,redirect,HttpResponse)
  • 原文地址:https://www.cnblogs.com/wangrui38/p/9121834.html
Copyright © 2020-2023  润新知