gpt4 book ai didi

c++ - 正则表达式:拆分到路径的最后一次出现

转载 作者:行者123 更新时间:2023-11-28 02:17:39 28 4
gpt4 key购买 nike

我想为主机名、共享文件夹、路径、文件名和扩展名拆分一个 UNC 路径。我几乎明白了,但是最后一个序列不知何故是错误的,因为我没有正确获取文件名。

例如

//host/shared/path1/path2/path3/filename.pdf

应该拆分为:

host
shared
path1/path2/path3
filename
pdf

但此刻我得到这样的东西:

host
shared
path1/path2/path3/filenam
e
pdf

使用这个正则表达式:

std::regex rgx("\/\/(\\w+?){1,1}\/(\\w+?)\/([\\w\/]+)([^\\.])\\.(.+)$");

那么它有什么问题,我该如何解决呢?

最佳答案

您想删除组“([^\\.])”,如下面的“\\”。匹配末尾的句号。您还需要另一个词组来匹配文件名本身,后跟句点,如下所示:

std::regex rgx("\/\/(\\w+?){1,1}\/(\\w+?)\/([\\w\/]+)\/([\\w]+)\\.(.+)$");

https://regex101.com/r/yK4zH1/4

关于c++ - 正则表达式:拆分到路径的最后一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33556394/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com