日期:2014-05-18  浏览次数:20446 次

××××××××××××××高分求一正则表达式××××××××××××
表达式要求
1   针对的是文件夹的路径(包括相对和绝对路径)而不是具体某个文件!
2   路径必须是本机的路径(如果类似如下形式\\Server\s\则应属于非法路径的)
3   不包括具体文件的名称,而仅仅是文件夹(如果类似如下形式c:\sss\m.txt则应属于非法路径)
4   最好不要回答诸如“你去哪里看看啊”、“用google搜索啊”,因为我在网上搜索过了,也去过http://www.regular-expressions.info/搜索过了,可仍然没找到符合我要求的,如果您搜索到了,最好能给出具体的网页地址。

------解决方案--------------------
Regex re1 = new Regex(@ "^([a-zA-Z]:)?(\\[^\\]+)*(\\)?$ ");

测试:c:\Server\s\ true
\\Server\s\ false
\server\s true
------解决方案--------------------
^[a-z]:\\([^/\\:*? " <> |]+[\\]?)*$

在c#里可能你还要对\转义为\\
------解决方案--------------------
^(?:[a-zA-z]:\\(?!\\))?\\?(?:[^:\\]+\\)*([^:\\.]+\\?)?$
------解决方案--------------------
try

^(?!.*?\\\s+(?:\\|$))(?!.*?\s+(?:\\|$))(?:[a-zA-Z]:)?(?:\\(?!\s+)[^\\/:*? " <> |]{1,255})+\\?$

同进排除了以下几种情况

\ abc\
\abc \
\ abc \
\abc
\ \
空格只允许出现在中间,如
\abc def\

哪果还有不符合的,或者上面被排除情况里有合法的,再说明一下