【问题标题】:notepad++ regex to replace multiple values with different replacementnotepad++ 正则表达式用不同的替换替换多个值
【发布时间】:2017-08-22 09:11:23
【问题描述】:

我有很多文本需要修复 url 编码。

因为继续为每个人做查找/替换是相当乏味的,

有人有一个正则表达式来一次替换多个字符吗?

例子:

替换...

  • %20 带空格
  • %5B[
  • %5D]
  • %28(
  • %29)

【问题讨论】:

  • 您的意思是使用 "and %5d to" 作为替代品还是仅使用 %5D ?
  • 我编辑了我的帖子我想用符号替换 url 编码。
  • 我已经根据您的更新稍微更新了答案...看看

标签: regex encoding replace notepad++


【解决方案1】:

通过以下正则表达式查找:

(%20)|(%5B)|(%5D)|(%28)|(%29)

并替换为:

(?1 )(?2\[)(?3\[)(?4\()(?5\))

解释:

(?1replacementA)(?2replacmentB)(?3replacmentC)....
  1. 其中 ?1 表示将第一个捕获组值 %20 替换为
    '替换A'
  2. 其中 ?2 表示将第二个捕获组 %5B 替换为
    '替换B'
  3. 其中 ?3 表示将第三个捕获组 %28 替换为
    '替换C'

从notepad++ 6开始就有可能

【讨论】:

  • 我试过查找:(%20)|(%5B)|(%5D)|(%28)|(%29) 替换为:(?)(?[)(?]) (?() (?)) 但是没有用。
  • @Tyler 注意答案中的更新,您需要转义括号,因为它们是正则表达式的特殊字符,并且您也需要正则表达式中的数字,因为这表明您要替换哪个组跨度>
  • 好的,我现在知道了: (?1 )(?2[)(?3]) (?4() (?5)) 我如何得到括号工作吗?
猜你喜欢
  • 2012-04-01
  • 1970-01-01
  • 2014-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-20
  • 1970-01-01
相关资源
最近更新 更多