c# - 正则表达式 Regex 判断是否是Share路径或硬盘路径
2012-11-30 13:37
991 查看
没有找到合适的匹配 一个UNC路径(\\MachineName\Folder\SubFolder\) 或者硬盘路径的正则表达式,所以自己写了一个.
有问题的话欢迎提意见.
正则表达式:^\s*([a-zA-Z]:\\|\\\\)([^\^\/:*?"<>|]+\\)*([^\^\/:*?"<>|]+)$
第一个字符^匹配字符串的开始, 最后一个字符$匹配字符串之结束。
\s* 匹配0个或者多个空格
[a-zA-Z]: 匹配一个字母和一个冒号
\\: 正则表达式里\是关键字符, 需要用\\ 表示 \, 所以匹配为一个\和一个冒号。同理 \\\\: 匹配两个\和一个冒号。
[^\^\/:*?"<>|]+ 一个或者多个不是^\/:*?"<>|的字符,
后面同理。
注意:在c#中使用的时候, 定义正则表达式的字符串需要把双引号" 用""替代.
有问题的话欢迎提意见.
正则表达式:^\s*([a-zA-Z]:\\|\\\\)([^\^\/:*?"<>|]+\\)*([^\^\/:*?"<>|]+)$
第一个字符^匹配字符串的开始, 最后一个字符$匹配字符串之结束。
\s* 匹配0个或者多个空格
[a-zA-Z]: 匹配一个字母和一个冒号
\\: 正则表达式里\是关键字符, 需要用\\ 表示 \, 所以匹配为一个\和一个冒号。同理 \\\\: 匹配两个\和一个冒号。
[^\^\/:*?"<>|]+ 一个或者多个不是^\/:*?"<>|的字符,
后面同理。
注意:在c#中使用的时候, 定义正则表达式的字符串需要把双引号" 用""替代.
using System; using System.Text.RegularExpressions; namespace pathregextest { class Program { static void Main(string[] args) { string regexPattern = @"^\s*([a-zA-Z]:\\|\\\\)([^\^\/:*?""<>|]+\\)*([^\^\/:*?""<>|]+)$"; Regex regex = new Regex(regexPattern); string[] strs = new string[] { @"\\v-yuxuac\tools\Download", @" \\v-yuxuac\tools\Download\ ", @"c:\tools\pic\", @"c:\tools\pic", @"\\fsa'ahre\saffdsa\gfds", @"dsd:\fdsa\er", @"\\c\fdsagre", @"c:\tools\p^c"}; foreach (string str in strs) { Console.WriteLine(str + " : " + regex.IsMatch(str)); } Console.ReadLine(); } } }
相关文章推荐
- 用正则表达式判断是否是正确路径格式C#代码
- c#用正则表达式判断字符串是否全是数字、小数点、正负号组成 Regex reg = new Regex(@"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$");
- C# 判断字符串是否符合十六进制,八进制,二进制和十进制整数格式的正则表达式
- C# 使用正则表达式判断字符串是否由英文或数字组成
- C#中判断是否为数字(及一些好用的正则表达式) [转]
- C# 正则表达式判断手机号码是否合法!
- c#判断字符是否为中文的三种方法分享(正则表达式判断)
- C#正则表达式判断输入日期格式是否正确
- C# 判断一字符串是否为合法数字(正则表达式)
- C# 判断一字符串是否为合法数字(正则表达式)
- 判断是否英文字母或数字的C#正则表达式
- C#之判断字符串是否以187开头 By -->正则表达式!...
- 判断字符串是否符合数值格式的正则表达式(C#)
- C#正则表达式判断输入日期格式是否正确
- C#判断IP地址是否合法正则表达式
- C#: 使用正则表达式判断字符串是否是数值或整数
- C#之判断字符串是否以187开头 By -->正则表达式!...
- c#用正则表达式判断字符串是否全是…
- C#正则表达式判断是否为IP地址
- c#判断是否为数字的正则表达式