如何在/folder/subfolder-1/subfolder-2/subfolder-3
之类的路径中找到第二个和第四个斜杠之间的文本?我试图用/folder/new-folder/subfolder-3
。
对我来说最重要的是能够在 n -th斜杠后找到该部分。
我尝试了正则表达式/((.*?)/){3}
,但它不起作用。
答案 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}(.*)
查找
$1new-folder/$3
替换:
[{
"key": "apple",
"value": "green"
},
{
"key": "banana",
"value": "yellow"
}]
答案 5 :(得分:0)
在记事本++中找到:
(/[^/]+)(?:/[^/]+/[^/]+/)(.*)
并替换为:
\1\/new-folder/\2
确保:.matches换行未被检查