例如字符串str="<div fdsedf> sd*&f </div>dfsdf<div lkglf> df </div>";
我想把div内的内容,div外的内容,分别取出来。
取出后内容为str1[0]="<div fdsedf> sdf </div>"
str1[1]="<div lkglf> df </div>";
str2[0]=" sd*&f ";
str2[1]="";
我写的正则,只能取到内部的内容,外部的都为空,正确的应该怎么写
string Partent=@"(?<a><div.*?</div>)(?<b>.*?)";
string str = this.textBox2.Text;
Regex r = new Regex(Partent, RegexOptions.IgnoreCase|RegexOptions.Singleline);
MatchCollection m = r.Matches(str);
for (int i = 0; i < m.Count; i++)
{
Group g1 = m[i].Groups["a"];
Group g2 = m[i].Groups["b"];
MessageBox.Show(g1.Captures[0].ToString());
MessageBox.Show(g2.Captures[0].ToString());
}
我想把div内的内容,div外的内容,分别取出来。
取出后内容为str1[0]="<div fdsedf> sdf </div>"
str1[1]="<div lkglf> df </div>";
str2[0]=" sd*&f ";
str2[1]="";
我写的正则,只能取到内部的内容,外部的都为空,正确的应该怎么写
string Partent=@"(?<a><div.*?</div>)(?<b>.*?)";
string str = this.textBox2.Text;
Regex r = new Regex(Partent, RegexOptions.IgnoreCase|RegexOptions.Singleline);
MatchCollection m = r.Matches(str);
for (int i = 0; i < m.Count; i++)
{
Group g1 = m[i].Groups["a"];
Group g2 = m[i].Groups["b"];
MessageBox.Show(g1.Captures[0].ToString());
MessageBox.Show(g2.Captures[0].ToString());
}
我想把div内的内容,div外的内容,分别取出来。
取出后内容为str1[0]="<div fdsedf> sdf </div>"
str1[1]="<div lkglf> df </div>";
str2[0]="sd*&f";
str2[1]="";
我写的正则,只能取到内部的内容,外部的都为空,正确的应该怎么写
string Partent=@"(?<a><div.*?</div>)(?<b>.*?)";
string str = this.textBox2.Text;
Regex r = new Regex(Partent, RegexOptions.IgnoreCase|RegexOptions.Singleline);
MatchCollection m = r.Matches(str);
for (int i = 0; i < m.Count; i++)
{
Group g1 = m[i].Groups["a"];
Group g2 = m[i].Groups["b"];
MessageBox.Show(g1.Captures[0].ToString());
MessageBox.Show(g2.Captures[0].ToString());
}
Console.WriteLine(s);
Response.Write(System.Text.RegularExpressions.Regex.Replace(str, @"<div.*?>(.*?)</div>(.*?)", "$1/$2", System.Text.RegularExpressions.RegexOptions.IgnoreCase));
{
string a="",b="";
s=@"<div fdsedf> sdf </div>mfsdf--$#@#<d<div lkglf> df </div>";
string Partent=@"(?<a><div.*?</div>)(?<b>((?!<div)[\W\w])*)"; foreach(Match m in Regex.Matches(s,Partent,RegexOptions.IgnoreCase|RegexOptions.Singleline))
{
a += m.Groups["a"].Value;
b += m.Groups["b"].Value;
}
return a+"#"+b;
}
s=@"<div fdsedf> sdf </div>mfsdf--$#@#<d<div lkglf> df </div>";
Dim m As Match For Each m In mc
MsgBox(m.Groups("1").Value)
MsgBox(m.Groups("2").Value)
Next