如何在notepad ++中查找/替换斜杠之间的文本?

时间:2017-01-17 16:47:31

标签: regex notepad++

如何在/folder/subfolder-1/subfolder-2/subfolder-3之类的路径中找到第二个和第四个斜杠之间的文本?我试图用/folder/new-folder/subfolder-3

之类的东西替换它

对我来说最重要的是能够在 n -th斜杠后找到该部分。

我尝试了正则表达式/((.*?)/){3},但它不起作用。

6 个答案:

答案 0 :(得分:3)

使用匹配重置器sum元字符,您可以更简单的方式执行此操作。

查找

\K

替换为:

/.*?/\K(.*?/){2}

答案 1 :(得分:2)

您可以通过在模式中使用此字符串来替换

(/.+?)(/.+?){2}(/\S+)

在你的模式中使用这个替换为

$1/new-folder$3

来自你的字符串:

/folder/subfolder-1/subfolder-2/subfolder-3
  • (/.+?)/folder $ 1

  • 匹配
  • (/.+?){2}/subfolder-1/subfolder-2 $ 2 (未使用)匹配

  • (/\S+)将匹配非空格的所有内容,在本例中为/subfolder-3 $ 3

留出空间在中间插入新文件夹

答案 2 :(得分:1)

要在第二个和第四个斜杠之间查找文本,您可以使用正则表达式^(/[^/]*/)([^/]*/[^/]*),然后在替换文本时可以引用带有\2的斜杠之间的文本。

要在斜杠前保留文字,您可以输入\1myNewTextBetweenSlashes2and4

之类的内容

答案 3 :(得分:1)

  

我怎样才能直到斜线?

  • 找到:(/[^/]+/)[^/]+/[^/]+
  • 替换为:$1new-folder

答案 4 :(得分:0)

new-folder表示在(\/.*?\/)(.*?\/){2}(.*)

重新评估第一级后的2个级别

查找

$1new-folder/$3

替换:

[{
    "key": "apple",
    "value": "green"
},
{
    "key": "banana",
    "value": "yellow"
}]

演示:https://regex101.com/r/XIA3IN/3

答案 5 :(得分:0)

在记事本++中找到:

(/[^/]+)(?:/[^/]+/[^/]+/)(.*)

并替换为:

\1\/new-folder/\2

确保:.matches换行未被检查