跪求一条正则表达式!在线等...

来源:百度知道 编辑:UC知道 时间:2024/06/23 19:15:07
以下是隐藏域内获得的所有附件的地址,名字,以及大小。(每个逗号后都是其中一个附件的地址及大小,其中@后面是大小,@和最后一个/中间的是附件的名字和附件的格式)
",/upload/2008-10-19/标志.psd@238637,/upload/2008-10-19/标志0.psd@277244,/upload/2008-10-19/jianjie.psd@716459,/upload/2008-10-19/biaozhi.psd@222304"
用正则表达式,怎么获取每个附件的名字呢?
供高手参考:
用这个表达式能获取附件的地址:"(/upload/\d+-\d+-\d+/[^@]+)@\d+"
写好后,请确定没有问题了,在给我,因为我一点不懂正则,所以,我也没有办法改!谢谢...
一楼的理解错我意思了。
我是要取出每个附件名字的正则表达式,不是让你把我那个复制下。我给的那个正则表达式去出来的是:
/upload/2008-10-19/标志.psd
而我只想要它的名字如:标志.psd

通过测试。
你把正则表达式都写错了,能给个正确答案才叫怪。第一个圆括号位置都放错了,哪能写对。我只理解了正则表达式的意思。
想要补获"标志.psd,就需要把圆括号放在”标志”前面.
/*
PS:现在是我输出的结果:
标志.psd<br />标志0.psd<br />jianjie.psd<br />biaozhi.psd<br />
*/
private void timeAd()
{

string str = ",/upload/2008-10-19/标志.psd@238637,/upload/2008-10-19/标志0.psd@277244,/upload/2008-10-19/jianjie.psd@716459,/upload/2008-10-19/biaozhi.psd@222304";
Regex reg=new Regex("/upload/\\d+-\\d+-\\d+/([^@]+)@\\d+");
MatchCollection mat=reg.Matches(str);
for (int i = 0; i < mat.Count; i++)
{
Response.Write(mat[i].Groups[1] +"<br />");
}
}