正则表达式验证服务器路径

时间:2014-09-10 16:41:56

标签: c# regex console-application

我似乎无法找到正则表达式或其他方法来验证服务器路径当我从c#console app获取参数时,这是我必须以下列格式存在的服务器路径:

@"\\myserver\testfolder\tests\"

我必须在开头\\

这就是我传递值的方式

myapp.exe "\\myserver\testfolder\tests\"

ty np

2 个答案:

答案 0 :(得分:1)

如果你想使用正则表达式,你可以使用这样的简单正则表达式:

\\\\(\w+\\)+

<强> Working demo

enter image description here

如您所见,上面的正则表达式捕获最后一个目录名称。如果您不想捕获任何内容并且只匹配,则可以设置非捕获组,如:

\\\\(?:\w+\\)+

所以,我的想法是:

\\\\     --> 2 backslashes
(\w+\\)+ --> with one or more directories

答案 1 :(得分:1)

我想出了以下内容。它允许名称中包含_.-等字符,但您可能需要根据服务器/共享名称的外观调整这些字符。这需要服务器和共享名称,并使共享中的目录可选。

^\\\\[\w\-.]+\\[\w\-.]+\\[\w\-.\\]*$

^\\\\        --> Double-backslash at the beginning
[\w\-.]+\\   --> Server name (at least 1 character) followed by backslash
[\w\-.]+\\   --> Share name (at least 1 character) followed by backslash
[\w\-.\\]*$  --> Directories (0 or more characters including backslashes)