日期:2014-05-17  浏览次数:21215 次

正则全文匹配问题
本帖最后由 aliuge2000 于 2013-01-04 15:49:05 编辑

String r = "123tagabcgz456";
Console.WriteLine(Regex.IsMatch(s, @"^.*?(.gz|.tag).*$"));
这个结果是 TRUE 
 
可是我要完全匹配 r = "123.tagabcgz456" 才匹配正确 而不是 tag

要怎么写

------解决方案--------------------
我记得改成 ^.*?(\.gz
------解决方案--------------------
\.tag).*$ 好像就行了
------解决方案--------------------
匹配小数点本身时,需要转义
String r = "123tagabcgz456";
Console.WriteLine(Regex.IsMatch(s, @"^.*?(\.gz
------解决方案--------------------
\.tag).*$"));


看你的代码,只是想验证里面是否包含.gz或.tag,没必要那样写,这样的效果是一样的
String r = "123tagabcgz456";
Console.WriteLine(Regex.IsMatch(s, @"\.(gz
------解决方案--------------------
tag)"));