我的程序读入一个字符串列表,其中包含位于网络驱动器上的文件和文件夹名称。
以下是我的列表可以包含的一些示例:
\\NETWORKDRIVE\text1.txt
\\NETWORKDRIVE\\text2.txt
\\NETWORKDRIVE\foldername\text3.txt
\\NETWORKDRIVE\\
\\NETWORKDRIVE\
\\NETWORKDRIVE
我需要一个正则表达式来仅返回网络驱动器名称(包括前导“\”字符)。
我尝试了各种正则表达式,我找到了一个几乎可以工作的。这是我目前拥有的:
^(\\+)(.*?)(\\+)
这个正则表达式有两个问题。
第一个问题是它与网络驱动器名称和尾随的“\”字符匹配。第二个问题是,如果网络驱动器名称不以任何“\”字符结尾,则它只匹配前导“\”字符。
这是我要证明的结果:
\\NETWORKDRIVE\text1.txt => \\NETWORKDRIVE\
\\NETWORKDRIVE\\test2.txt => \\NETWORKDRIVE\\
\\NETWORKDRIVE\foldername\text3.txt => \\NETWORKDRIVE\
\\NETWORKDRIVE\\ => \\NETWORKDRIVE\\
\\NETWORKDRIVE\ => \\NETWORKDRIVE\
\\NETWORKDRIVE => \\
如您所见,我没有得到我想要的结果。我只是希望结果是:
\\NETWORKDRIVE
对于所有情况。
谁能帮我修改和/或更改我的正则表达式来做我需要它做的事情?
非常感谢你。