public static string regexFilesName(string inputStr)
{
Regex re = new Regex("^.{12,12}[0-9]{14,14}[^(.cfg|.dat).]*(.cfg|.dat)+$");
if (re.IsMatch(inputStr))
return inputStr;
return null;
}
公司前人写的一个函数,没明白这个什么意思,看半天没搞懂,第一次接触正则这东西
大家看看这个要返回的是什么,他想表达什么意思,他注释写的是// 得到文件名的命名规则
{
Regex re = new Regex("^.{12,12}[0-9]{14,14}[^(.cfg|.dat).]*(.cfg|.dat)+$");
if (re.IsMatch(inputStr))
return inputStr;
return null;
}
公司前人写的一个函数,没明白这个什么意思,看半天没搞懂,第一次接触正则这东西
大家看看这个要返回的是什么,他想表达什么意思,他注释写的是// 得到文件名的命名规则
解决方案 »
- DataTable.WriteXml()问题
- 请教:textbox里如何显示可空的datetime类型的数据。
- C#怎样点击按钮生成新的tabPage并转到新的tabPage
- 怎么样判断一个Binding所绑定的列是否是只读的 ?
- 如何实现字符类型向枚举类型转换?
- 四舍五入的问题??
- 如何快速组建开发团队
- msdn真难用,不如javaDoc,都找不到对象属于哪个库。c#不如vb,倾分相赠45
- mm马上给分!水晶报表如何让字段为0时,不显示数据?
- c#.wpf.DataGrid 怎么输入关键字查询报警记录
- C#中xml数据绑定到TreeView里面,要在页面加载是就绑定
- 这个类是做什么用的?我不太明白里面的意思?
$匹配结尾
.{12,12} 12个不是换行符的字符
[0-9]{14,14} 14个数字
[^(.cfg|.dat).]* 不是.cfg或者.dat的任意字符
(.cfg|.dat)+ 结尾时.cfg或者.dat比如匹配
abcdefghabws12345678910212uoi45wer.cfg不过个人觉得
[^(.cfg|.dat).]*(.cfg|.dat)+
这个写的不怎么好(.cfg|.dat)+既然能出现一次以上,那前面的限制就没必要了
我觉的他的意思是匹配这样一条字符串
12个任意字符加上14个数字再加上不是“.cfg”或“.dat”的任意个字符再加上至少一个“.cfg”或“.dat”这个正则写的有问题
首先 14个数字这样写即可[0-9]{14} 还有就是[^]集合在这里不合适这个正则应该这样写比较合适些
@"(?isn)^.{12}[0-9]{14}((?!(\.cfg|\.dat)).)*(\.cfg|\.dat)+$"
[^] 表示的是集合中的字符串集合的补集上面的修正一下
@"(?isn)^.{12}[0-9]{14}((?!(\.cfg|\.dat)\.).)*(\.cfg|\.dat)+$"
[^(.cfg|.dat).]* 假如要匹配不是.cfg或.dat的内容的话 还不如用(?:(?!\.cfg|\.bat).)*