C#中利用正则表达式检测文件路径的合法性
2015-04-01 17:20
399 查看
项目中少不了读取或设置文件路径的功能,如何才能对输入的路径是否合法进行判断呢?用正则表达式是个不错的方式。我们都知道文件路径的字符串一般格式,首先是盘符,一般是abcde等字幕,盘符后用冒号隔开,然后用“\”隔开各层文件夹,如:F:\Funny\22\renxi,在文件夹和文件命名时,不能包含\ / : * ? ” < > |等字符。基于这些原则,我们可以编写用于匹配的整个表达式。正则表达式的语法就不详细介绍啦,网上一搜一大把,不会的话可以直接看这篇文章:正则表达式30分钟入门教程。讲得很详细,一看就懂。下面就直接上编好的正则表达式啦。
匹配文件名或文件夹名的正则表达式: “^[^\/:*\?\”“\<>|,]+$”
匹配完整路径的正则表达式 “^([a-zA-Z]:\)?[^\/:*\?\”“\<>|,]*$”
使用示例如下:
注意,在C#中使用正则表达式类时,需要先添加引用
匹配文件名或文件夹名的正则表达式: “^[^\/:*\?\”“\<>|,]+$”
匹配完整路径的正则表达式 “^([a-zA-Z]:\)?[^\/:*\?\”“\<>|,]*$”
使用示例如下:
[code] if (rTxtSavePath.Text != "") { Regex regex = new Regex(@"^([a-zA-Z]:\\)?[^\/\:\*\?\""\<\>\|\,]*$"); Match m = regex.Match(rTxtSavePath.Text); if (!m.Success) { MessageBox.Show("非法的文件保存路径,请重新选择或输入!"); return; } regex = new Regex(@"^[^\/\:\*\?\""\<\>\|\,]+$"); m = regex.Match(rTxtFileName.Text); if (!m.Success) { MessageBox.Show("请勿在文件名中包含\\ / : * ? \" < > |等字符,请重新输入有效文件名!"); return; } }
注意,在C#中使用正则表达式类时,需要先添加引用
using System.Text.RegularExpressions;
相关文章推荐
- 利用正则表达式从文件路径中匹配文件名
- 利用正则表达式从文件路径中提取出文件名(包含后缀)
- C#,判断字符,是否是数字或小数(利用正则表达式)
- C#中利用正则表达式实现字符串搜索
- ios常用的读取文件路径操作以及正则表达式
- C#中利用正则表达式去除HTML中的格式
- C#中使用 正则表达式 替换img中src路径但保留图片名
- C#正则表达式匹配HTML中的图片路径,图片地址
- C#中利用正则表达式提取网文链接
- C#正则表达式匹配HTML中的图片路径,图片地址
- hdfs获取文件列表,利用正则表达式选择文件并作下一步处理
- C#中利用正则表达式获取字符串中双引号包含的内容
- VB6利用正则表达式验证IP地址合法性
- 本地图片文件路径正则表达式
- Smarty 模板 图片、CSS、JavaScript文件路径替换(用ecshop的正则表达式)
- C# 在.cs文件中使用正则表达式
- Linux学习-shell利用正则表达式验证邮箱合法性
- 让Javascript的string更好用,利用正则表达式模仿C#扩展
- lua 文件路径 字符串处理 数据结构 正则表达式 Class 程序集
- C#中利用正则表达式实现字符串搜索