嗨我有一个正则表达式,现在表示失败。不确定是什么停止。
Regex regex = new Regex(@"^(([a-zA-Z]:)|(\\{2}\w+\\[\w- ]+[$])|(\\{2}\w+))(\\[\w-. ]*)*(.xml|.XML)$");
if (!regex.IsMatch(fuSource.PostedFile.FileName))
{
Page.Validators.Add(new ValidatorHelper("Please select a valid Application XML input file."));
}
我传递的文件名是:
XX2 03-01-2017.xml
但由于某种原因,它没有服用。
请帮助使用与模式相匹配的有效文件名。
答案 0 :(得分:0)
你可以在像这样的在线工具上测试你的正则表达式来自己试试:
https://regex101.com/r/UX9TjE/1
基本上你的正则表达式匹配文件名中的3个部分:
c:
或Z:
\\shared\user$
\\shared
\my\path\my file
.xml
或.XML
恕我直言这个正则表达式不是很好,这里有一些示例匹配:
c:\path\\XX2 03-01-2017.xml
\\nas\user$\XX2 03-01-2017.xml
\\network_shared\.xml
\\a.XML
你可以在这里看到每个人匹配的原因:
https://regex101.com/r/UX9TjE/2