如何解决Notepad ++ REGEX 查找并替换倒数第二个斜杠
我有一个包含多个路径的大文本文件,如下例所示。路径总是不同的。 我正在 Notepad++ 中寻找正则表达式(查找和替换)以将倒数第二个“/”替换为“/;”。
示例:
/testNAS/questions/ask/test/example/picture.png
更换后:
/testNAS/questions/ask/test/;example/picture.png
我尝试使用正则表达式 /(?=[^/]*$)
但这仅标记最后一个斜杠。
有人可以帮我吗?
解决方法
仅使用您显示的示例,您可以尝试遵循正则表达式。
找到什么:^(/[^/]*/[^/]*/[^/]*/[^/]*/)(.*)$
替换为:$1;$2
说明: 为上述正则表达式添加详细说明。
^( ##Matching from starting of value in 1st capturing group.
/[^/]*/[^/]*/[^/]*/[^/]*/ ##Matching / followed by till next occurrence of / doing this 4 times total in here.
) ##Closing 1st capturing group here.
(.*)$ ##Creating 2nd capturing group which has rest of the values here.
,
你可以使用
^.*/\K[^/\r\n]*/[^/\r\n]*$
-
.*/
匹配最后一次出现的/
-
\K
暂时忘记匹配的内容 -
[^/\r\n]*/[^/\r\n]*
回溯以使用匹配除正向 slach 或换行符以外的任何字符的否定字符类来匹配/
的一次出现 -
$
字符串结束
并使用分号和完整匹配替换 ;$0
试试这个,如果你想替换第五个数字斜线,在你的情况下从右到左的 second-last
..
查找内容:^(.*?\K/){5}
替换为:/;
你可以使用
/(?=[^/\v]*/[^/\v]*$)
替换为 $0;
。请参阅regex demo。
详情
-
/
- 斜线 -
(?=[^/\v]*/[^/\v]*$)
- 需要零个或多个字符而不是/
和垂直空白、/
以及零个或多个字符而不是/
和垂直空白在一行的末尾。
$0;
替换模式插入整个匹配值 ($0
),然后插入一个 ;
字符来代替匹配。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。