C#中利用正则表达式检测文件路径的合法性

项目中少不了读取或设置文件路径的功能,如何才能对输入的路径是否合法进行判断呢?用正则表达式是个不错的方式。我们都知道文件路径的字符串一般格式,首先是盘符,一般是abcde等字幕,盘符后用冒号隔开,然后用“\”隔开各层文件夹,如:F:\Funny\22\renxi,在文件夹和文件命名时,不能包含\ / : * ? ” < > |等字符。基于这些原则,我们可以编写用于匹配的整个表达式。正则表达式的语法就不详细介绍啦,网上一搜一大把,不会的话可以直接看这篇文章:正则表达式30分钟入门教程。讲得很详细,一看就懂。下面就直接上编好的正则表达式啦。

匹配文件名或文件夹名的正则表达式: “^[^\/:*\?\”“\<>|,]+$”

匹配完整路径的正则表达式 “^([a-zA-Z]:\)?[^\/:*\?\”“\<>|,]*$”

使用示例如下:

 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;

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值