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