2017-09-07 26 views
0

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

有没有一种方法来指定我只希望结果验证是在html块中声明的类?

回答

1

是的。在崇高菜单中,转到Find - >Find in Files...

然后匹配下图中的内容。

enter image description here

+0

谢谢,但正如我在我的问题中提到的,我的许多html文件在类引用之外包含“验证”一词(在内容本身中,在我的Jinja代码等中)。我希望我可以指定“只找到html类”。 – Krispy

0

,你会想要做的第一件事就是考虑如何才能解决这个问题其他的可能性。目前,这听起来像你只使用崇高的文字。您是否考虑尝试使用像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。熟悉命令行将为您节省大量时间和头痛。

0

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

class="([^"]+)?validation[ "]

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

如果你没有坚持双引号,这个版本将与单或双引号工作:

class=['"]([^'"]+)?validation[ '"]

如果你想利用这些正则表达式从grep的命令行,你需要包括“扩展正则表达式”的参数-E

相关问题