当前位置: 代码迷 >> .NET新技术 >> asp.net 正则表达式 怎么获取出图片 跟文字
  详细解决方案

asp.net 正则表达式 怎么获取出图片 跟文字

热度:211   发布时间:2016-04-25 01:55:07.0
asp.net 正则表达式 如何获取出图片 跟文字
asp.net 正则表达式 如何将文字跟图片分开并保存到一个数组里面
如:
a+b+c<img src='a.gif'/>234234234<img src='b.gif'/>abc
结果:
a+b+c
<img src='a.gif'/>
234234234
<img src='b.gif'/>
abc

------解决方案--------------------
string str = "a+b+c<img src='a.gif'/>234234234<img src='b.gif'/>abc";
List<string> arr = new List<string>();
string result = Regex.Replace(str, @"(?is)<img.*?src=(['""]?)(?<url>[^'"" ]+)(?=\1)[^>]*>", delegate(Match m)
{
arr.Add(m.Groups[0].Value);//添加
return "$";
});
foreach (string s in result.Split('$'))
{ arr.Add(s);
}
foreach (string s in arr)
{
Console.WriteLine(s);
}
<img src='a.gif'/>
<img src='b.gif'/>
a+b+c
234234234
abc
------解决方案--------------------
try...

C# code
string test = "a+b+c<img src='a.gif'/>234234234<img src='b.gif'/>abc";Regex reg = new Regex(@"(?is)<img[^>]*>|((?!<img).)+");MatchCollection mc = reg.Matches(test);foreach (Match m in mc){   richTextBox2.Text += m.Value + "\n";}/*-------输出--------a+b+c<img src='a.gif'/>234234234<img src='b.gif'/>abc*/