我想在项目范围内的所有html文件中找到名为“validation”的类的所有实例。这是一个非常大的项目,搜索“验证”这个词给了我数百个不相关的结果(js函数,css,js / css缩小,其他类,函数和包含单词验证的html页面内容等)。它有时可以是声明的第二,第三或第四类,因此搜索“class ='validation”不起作用。
有没有办法指定我只想要验证是在html块上声明的类的结果?
答案 0 :(得分:2)
答案 1 :(得分: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。熟悉命令行将为您节省大量的时间和麻烦。
答案 2 :(得分:0)
在SublimeText中,右键单击要开始搜索的文件夹,然后单击Find in Folder
。确保启用了正则表达式搜索(搜索面板中的.*
按钮)并使用此正则表达式作为搜索字符串:
class="([^"]+ )?validation[ "]
正则表达式将处理"验证"是唯一的类名以及其中几个类名之一的情况(在这种情况下,它可以在列表中的任何位置)。
如果您没有使用双引号,则此版本适用于单引号或双引号:
class=['"]([^'"]+ )?validation[ '"]
如果要在grep
命令行中使用这些正则表达式,则需要在"扩展正则表达式"中包含-E
参数。