0

我使用 dtSearch 和 File Locator Lite 之类的工具来搜索我的本地源代码文件中的单词,它们工作正常。

但是有时我需要搜索像 'Session["cutid"] =' 之类的短语(不带单引号)并进行精确匹配,其中包括双引号、空格和等号,而我的搜索工具不返回任何内容即使我知道这句话的存在。

你能推荐一个可以找到上面短语的搜索工具,如果它需要一些特殊的语法,写下语法。谢谢。

补充:不喜欢使用正则表达式,因为我不擅长它们。只想匹配我在搜索词中输入的任何内容。

4

2 回答 2

0

我们的源代码搜索引擎可以做到这一点。它使用特定于语言的扫描器以完全语言准确的方式(例如,理解字符串中的转义序列!)将源代码分解为语言元素(标识符、字符串、数字、注释、关键字、空格等)。然后,您可以对这些语言原子制定查询。(我假设您的示例是 PHP ;SCSE 处理 PHP,包括字符串文字、Java 中的所有复杂内容……)

针对您的特定搜索的查询:

   I=Session '[' S=cutid ']' '='

查询的意思是,找到一个确切名称为“Session”的 I(dentifier),后跟一个运算符 '[',后跟 S(tring),其确切内容为 'cutid',然后是运算符 ']',然后'='。空格和交织注释被跳过,因此可以跨越多行边界。如果您想要任何包含“Sess”的标识符,您可以为该标识符编写一个通配符,例如,I=*Sess*。对于 I(例如 =\.*Sess.*\)或 S 约束,您可以使用正则表达式而不是通配符,或者如果您坚持,也可以仅使用正则表达式执行搜索。

SCSE 提供 GUI;任何找到的匹配项都显示为单行,单击即可调出包含匹配项的源代码文件。稍微配置一下,额外的点击会在点击时让你进入你最喜欢的编辑器。

SCSE 索引您的代码库,因此搜索速度非常快,即使对于庞大的代码库也是如此。它可以处理多种混合语言(例如,PHP、JavaScript 等)。

于 2013-02-26T00:18:59.687 回答
0

我使用 NetBeans,他们在项目中的搜索功能允许您通过正则表达式进行搜索。我认为大多数其他 IDE 也支持这一点。或者您可以使用 grep 和其他 unix 工具。

于 2013-02-26T00:11:34.710 回答