【问题标题】:Find And replace Specific part in notepad ++在记事本++中查找并替换特定部分
【发布时间】:2017-01-11 10:47:46
【问题描述】:

我有一个文件,我必须在其中多次查找并用特定字符串替换一个字符串。但问题是字符串的某些特定部分每次匹配时都不同。

假设我的字符串是:

$mail = Input::get('email');

$phone = Input::get('phone'); 

所以我必须替换字符串的某些部分,例如

Input::get(

htmlspecialchars(trim(Input::get('email')))”。

所以电子邮件或电话部分将是动态的,我不想替换它。

我该怎么做。任何帮助都将受到高度赞赏。

【问题讨论】:

  • 您可以使用CTRL + F 找到Then CTRL+RReplace 并继续全部替换
  • Actaully 我不想替换电子邮件或电话单词。我只是想让这些单词正则表达式应该和原来一样

标签: php notepad++


【解决方案1】:

这是完成这项工作的一种方法:

  • Ctrl+H
  • 查找内容:(Input::get\('.+?'\));
  • 替换为:htmlspecialchars\(trim\($1\)\);
  • 全部替换

说明:

(               : start group 1
  Input::get\(' : literally (NB parenthesis must be escaped)
    .+?         : one or more anycharacter, not greedy
  '\)           : literally
);              : end group 1 and semi colon

在替换部分,括号必须在Npp中转义

【讨论】:

  • 也许您可以添加一个简短的解释作为奖励。 +1 使用 和标记
【解决方案2】:

你甚至不需要正则表达式。

只需将 'Input::get(' 替换为 'htmlspecialchars(trim(Input::get(''

这应该保持其余部分完好无损。并进行全局替换..

【讨论】:

  • 右括号呢?
  • 在两个:email') 和 phone') 上再进行一次搜索和替换,然后用 email'))) 和 phone'))) 替换它们,这变得相对难看,但很有用开始学习正则表达式。但在这种特定情况下,我仍然认为 2-3 次全局搜索和替换比尝试提出合适的正则表达式要快得多(除非你有这样做的经验)
猜你喜欢
  • 2021-01-23
  • 2013-08-20
  • 2013-11-23
  • 1970-01-01
  • 2017-08-09
  • 2017-12-18
  • 1970-01-01
  • 2012-12-10
  • 2015-01-26
相关资源
最近更新 更多