【问题标题】:Exclude strings from search PhpStorm从搜索 PhpStorm 中排除字符串
【发布时间】:2019-11-07 12:17:58
【问题描述】:

这个问题可能在互联网的某个地方有答案,但我似乎找不到。当然,如果你有一个链接给我,我很乐意接受它作为我正在寻找的答案。

这里是: 如何从全局搜索中排除某些字符串?

基本上我使用 Ctrl + Shift + F 来查找所有出现的nameOfTheFile.php 字符串以查找调用此文件的所有模式。一个不太聪明的开发人员在各处创建了多个nameOfTheFile.php,因此包含它们的路径总是会改变,我需要修复一些东西,所以我需要更改每个调用。根据 PhpStorm,有很多调用 => 1533 次,因此不能一个接一个地进行。

所以我的计划是把所有的模式都写下来(不应该超过 50 个这样可行),然后再全部替换。为此,我可以使用过滤器来排除我已经找到的模式

目前模式列表类似于:

include_once("folderY/nameOfTheFile.php");
include_once(PATH . "folderY/nameOfTheFile.php");
include_once (PATH . "folderY/nameOfTheFile.php");
include_once ("../../../folderX/nameOfTheFile.php");
include_once ("../../folderX/nameOfTheFile.php");
include_once ("../folderX/nameOfTheFile.php");
require_once($settings['siteFilepath'] . "folderY/nameOfTheFile.php");

如何从搜索中排除这些字符串?我想过使用正则表达式,但由于我不是专家(这里是初级开发人员:/),我真的想不出它。另外,我认为 PhpStorm 中可能有一些内置的东西可以更好地工作。

我错过了什么吗?有正则表达式可以帮助我吗?奖励点:如果有正则表达式,请解释它是如何工作的(记住我远非专家)。

【问题讨论】:

  • 花一些时间学习 Regex 及其运算符和语法可能对您更有用,以便您可以在这里使用 Regex 解决方案,这将帮助您成为一个高级开发人员更快;-)
  • “给一个人看正则表达式,他会开心一天。教一个人正则表达式,他明年都会微笑”
  • @Martin 虽然我同意你的观点,但我想先知道是否有其他解决方案。我有过使用 Regex 的经验,对于类似的事情,我认为我的水平不够好,也不能足够快地获得它。
  • 很遗憾,我没有完全遵循您的设计,但您可以在“查找路径”中切换过滤器:i.gyazo.com/27036c922b0d8b15ffb2164fcdbb2ca8.png
  • @Ástþór 据我了解,这些过滤器并不具体。我无法过滤掉我想要的电话。

标签: php replace phpstorm project


【解决方案1】:

在 PhpStorm 中去替换所有 cntr+shift+R 选择“正则表达式”选项并输入

include_once.*nameOfTheFile\.php"\);

这将选择有问题的条目进行替换

【讨论】:

  • 谢谢 Georges,您能解释一下 Regex 的工作原理吗?
  • 这个特定查询意味着查找以 - 'include_once' 开头的所有内容,后跟任何内容并以 - nameOfTheFile.php"); \.- 必须转义以及 ) 因为这些是正则表达式保留的命令
  • 这就是我的想法,我也可以将它用于require_once。有帮助谢谢!由于这不是我正在寻找的实际答案,因此我不会对其进行验证。我仍然赞成:)
  • 也许你能想出一个搜索 nameOfTheFile.php 并忽略 include_once 和 require_once 的正则表达式,这样我就可以检查是否还有其他调用。我知道我要求很多,但这会解决我的问题。
  • 为什么不使用原生 PhpStorm 搜索呢?只需搜索 nameOfTheFile.php 通常它会显示所有条目
猜你喜欢
  • 1970-01-01
  • 2016-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
  • 2013-06-16
  • 1970-01-01
相关资源
最近更新 更多