日期:2014-05-20  浏览次数:20721 次

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
*/