【问题标题】:Sublime Text - find all instances of an html class name project-wideSublime Text - 在项目范围内查找 html 类名的所有实例
【发布时间】:2017-09-07 20:55:45
【问题描述】:

我想在项目范围内的所有 html 文件中查找名为“validation”的类的所有实例。这是一个非常大的项目,搜索“验证”这个词会给我数百个不相关的结果(js 函数、css、js/css 缩小、其他类、函数和包含验证词的 html 页面内容等)。它有时可能是声明的第二、第三或第四类,因此搜索“class='validation”不起作用。

有没有办法指定我只想要验证是在 html 块上声明的类的结果?

【问题讨论】:

    标签: html sublimetext3


    【解决方案1】:

    是的。在 sublime 菜单中转到 Find --> Find in Files...

    然后匹配下图中的内容。

    【讨论】:

    • 谢谢,但正如我在问题中提到的,我的许多 html 文件在类引用之外(在内容本身、在我的 Jinja 代码等中)都包含“验证”一词。我希望我可以指定“仅查找 html 类”。
    【解决方案2】:

    您要做的第一件事是考虑如何解决此问题的其他可能性。目前,听起来您只使用崇高的文本。您是否考虑过尝试使用像grep 这样的命令行工具?

    这是一个如何使用它的示例。

    我有一个名为 enfold-child 的项目,其中包含一些用于 wordpress 项目的前端资产。比方说,我想找到我所有的scss 文件,其中列出了“home”类,但我不想拉入内置的css 文件,或者我的node_modules 文件夹中的任何东西。我这样做的方式如下:

    文件夹结构:

    ..
      |build
         |scss_files
         |node_modules
         |css_files
         |style.css
    

    grep -rnw build --exclude=*{.css} --exclude-dir=node_modules -e home

    grep = 方便的搜索工具。

    -r = 递归搜索。

    -n = 为每个匹配项提供行号

    -w = 仅选择那些包含构成整个单词的匹配项的行。

    -e = 匹配正则表达式。

    home = 我要搜索的表达式。

    一般来说,命令行包含了大多数文本编辑器提供的大多数漂亮操作(例如 Sublime)可能想要/需要的任何东西。熟悉命令行将为您节省大量时间和将来的麻烦。

    【讨论】:

      【解决方案3】:

      在 SublimeText 中,右键单击要开始搜索的文件夹,然后单击 Find in Folder。确保启用了正则表达式搜索(搜索面板中的 .* 按钮)并将此正则表达式用作搜索字符串:

      class="([^"]+ )?验证[ "]

      该正则表达式将处理“验证”是唯一类名的情况以及它的几个类名之一的情况(在这种情况下,它可以在列表中的任何位置)。

      如果您不坚持使用双引号,此版本将使用单引号或双引号:

      class=['"]([^'"]+ )?验证['"]

      如果您想通过grep 在命令行中使用这些正则表达式,则需要为“扩展正则表达式”添加一个-E 参数。

      【讨论】:

        猜你喜欢
        • 2015-07-21
        • 1970-01-01
        • 2018-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-28
        • 1970-01-01
        • 2013-04-30
        相关资源
        最近更新 更多