我似乎无法找到正则表达式或其他方法来验证服务器路径当我从c#console app获取参数时,这是我必须以下列格式存在的服务器路径:
@"\\myserver\testfolder\tests\"
我必须在开头\\
这就是我传递值的方式
myapp.exe "\\myserver\testfolder\tests\"
ty np
答案 0 :(得分:1)
如果你想使用正则表达式,你可以使用这样的简单正则表达式:
\\\\(\w+\\)+
<强> Working demo 强>
如您所见,上面的正则表达式捕获最后一个目录名称。如果您不想捕获任何内容并且只匹配,则可以设置非捕获组,如:
\\\\(?:\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)