求高人给一个C#正则表达式!关于从字符串中提取多个图片文件路径

lwjzqj 2009-12-26 06:49:22

如何用C#正则表达式把下面字符串中的图片路径提取出来,图片的类型可以是,jpg,gif,bmp,png:


图片地址1|200912/2009122615455453.jpg$$$图片地址2|200912/2009122615455445.jpg$$$图片地址3|200912/2009122615455423.jpg$$$图片地址4|200912/2009122615455462.jpg

200912是一个文件夹,当这个文件夹是可以是全英文字符,全数字字符,或英文加数字的命名的文件夹,正则表达式对下面的也适用,

图片地址1|UploadPhotos/200912/2009122615455453.jpg$$$图片地址2|UploadPhotos/200912/2009122615455445.jpg$$$图片地址3|UploadPhotos/200912/2009122615455423.jpg$$$图片地址4|UploadPhotos/200912/2009122615455462.jpg

能够正确提取出:200912/2009122615455453.jpg,200912/2009122615455445.jpg,200912/2009122615455423.jpg...保存在数组里面 或

UploadPhotos/200912/2009122615455423.jpg,UploadPhotos/200912/2009122615455445.jpg...保存在数组里面,谢谢了!
...全文
402 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
波导终结者 2009-12-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lxcnn 的回复:]
引用 5 楼 alifriend 的回复:
哦,LZ应该是跟大部分人一样,想要完整一次性全部输出一个字不用改拷进工程马上就能用的全部代码。对了,你用richTextBox输出的话,LZ会不满意的。


呵呵,我是正则问题回的多了,见的也多了
尤其是以前,关注正则人少的时候,干脆问清需求,给出实现就是了,没有几个人会管正则是什么意思的
今年MS已经多少有些改善了
[/Quote]
最近版内不是有个疯狂注册马甲砸分的家伙嘛,问一次砸100分换一个号,把要做的东西东拼西凑全部问出来,这种人哪管代码是什么意思,复制进去能用就给分,换号。特别是正则,没花心思去钻根本看不懂。
gqqnb 2009-12-26
  • 打赏
  • 举报
回复
[\d\w/]+\.(jpg|bmp|png|gif)
lwjzqj 2009-12-26
  • 打赏
  • 举报
回复
哈哈,太搞了!
老实说,正则表达式用得不熟,但现在工程紧急用,没时间研究,以后还是要多花时间研究研究,多谢两位,散分
-过客- 2009-12-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 alifriend 的回复:]
哦,LZ应该是跟大部分人一样,想要完整一次性全部输出一个字不用改拷进工程马上就能用的全部代码。对了,你用richTextBox输出的话,LZ会不满意的。
[/Quote]

呵呵,我是正则问题回的多了,见的也多了
尤其是以前,关注正则人少的时候,干脆问清需求,给出实现就是了,没有几个人会管正则是什么意思的
今年MS已经多少有些改善了
gqqnb 2009-12-26
  • 打赏
  • 举报
回复
晕,看来我理解错了。。。
gqqnb 2009-12-26
  • 打赏
  • 举报
回复
如果原数据是“|200912/2009122615455453.jpg|200912/2009122615455445.jpg|200912/2009122615455423.bmp|200912/2009122615455462.jpg|UploadPhotos/200912/2009122615455453.gif|UploadPhotos/200912/2009122615455445.jpg|UploadPhotos/200912/2009122615455423.png|UploadPhotos/200912/2009122615455462.jpg”何必要正则表达式,string.Split()就可以啊
波导终结者 2009-12-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lxcnn 的回复:]
引用 3 楼 lwjzqj 的回复:
我顶


2楼的应该已经可以满足你的要求了,还要什么

C# codestring test="图片地址1|UploadPhotos/200912/2009122615455453.jpg$$$图片地址2|UploadPhotos/200912/2009122615455445.jpg$$$图片地址3|UploadPhotos/200912/2009122615455423.jpg$$$图片地址4|UploadPhotos/200912/2009122615455462.jpg";
Regex reg=new Regex(@"(?<=\|)[^$]+(?=\$\$\$|$)");
MatchCollection mc= reg.Matches(test);foreach (Match min mc)
{
richTextBox2.Text+= m.Value+"\n";
}
[/Quote]

哦,LZ应该是跟大部分人一样,想要完整一次性全部输出一个字不用改拷进工程马上就能用的全部代码。对了,你用richTextBox输出的话,LZ会不满意的。
-过客- 2009-12-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lwjzqj 的回复:]
我顶
[/Quote]

2楼的应该已经可以满足你的要求了,还要什么

string test = "图片地址1|UploadPhotos/200912/2009122615455453.jpg$$$图片地址2|UploadPhotos/200912/2009122615455445.jpg$$$图片地址3|UploadPhotos/200912/2009122615455423.jpg$$$图片地址4|UploadPhotos/200912/2009122615455462.jpg ";
Regex reg = new Regex(@"(?<=\|)[^$]+(?=\$\$\$|$)");
MatchCollection mc = reg.Matches(test);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}
lwjzqj 2009-12-26
  • 打赏
  • 举报
回复
我顶
波导终结者 2009-12-26
  • 打赏
  • 举报
回复
(?<=\|)[^$\|]+
nixiang12 2009-12-26
  • 打赏
  • 举报
回复
沙发 顶贴..

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧