110,566
社区成员
发帖
与我相关
我的任务
分享
<table>
<tr>
<td>
<table >
</table>
</td>
<td>
<a id="_l" href="http://sites/Person.aspx?accountname=Domain%5CUser">jim Ben</a><span
class='AAA'>,
<nobr>USER DESIGNER</nobr>
</span>
</td>
</tr>
</table>
string regstr = @"<table>
<tr>
<td>
<table >
</table>
</td>
<td>
<a id=""_l"" href=""http://sites/Person.aspx?accountname=Domain%5CUser"">jim Ben</a><span
class='AAA'>,
<nobr>USER DESIGNER</nobr>
</span>
</td>
</tr>
<tr>
<td>
<table >
</table>
</td>
<td>
<a id=""_l"" href=""http://sites/Person.aspx?accountname=Domain%tydfdg"">jim Else</a><span
class='AAA'>,
</span>
</td>
</tr>
</table>
";
string pattern = @"<a\s*(\w+\s*=\s*['""].*?['""])*\s*href\s*=\s*['""](?<link>.*?)['""]\s*\1*\s*>(?<linktext>.*?)</a>";
pattern += @"\s*<span[^>]*>.*?(?<nobrtext>\<nobr\>.*?\<\/nobr\>){0,1}\s*</span>";
Regex reg = new Regex(pattern, RegexOptions.Singleline
| RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.ExplicitCapture);
MatchCollection matches = reg.Matches(regstr);
int len = matches.Count;
string[] link = new string[len];
string[] linktext = new string[len];
string[] nobrtext = new string[len];
int iIndex = 0;
foreach (Match mat in matches)
{
link[iIndex] = mat.Groups["link"].Value;
linktext[iIndex] = mat.Groups["linktext"].Value;
nobrtext[iIndex] = mat.Groups["nobrtext"].Value;
++iIndex;
}
string pattern = @"<a.*?href=""[^=]+=([^""]+)"">([^<]+)</a><span[^>]+>(?:,\s*<nobr>([^>]+)</nobr>)?\s*</span>";
MatchCollection mc = Regex.Matches("你的字符串", pattern, RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
//以下三个值则是你想获取的
string g1 = m.Groups[1].Value;
string g2 = m.Groups[2].Value;
string g3 = m.Groups[3].Value;
}
<table>
<tr>
<td>
<table >
</table>
</td>
<td>
<a id="_l" href="http://sites/Person.aspx?accountname=Domain%5CUser">jim Ben</a><span
class='AAA'>,
<nobr>USER DESIGNER</nobr>
</span>
</td>
</tr>
<tr>
<td>
<table >
</table>
</td>
<td>
<a id="_l" href="http://sites/Person.aspx?accountname=Domain%5CUser1">jim Ben1</a><span
class='AAA'>
</span>
</td>
</tr>
<tr>
<td>
<table >
</table>
</td>
<td>
<a id="_l" href="http://sites/Person.aspx?accountname=Domain%5CUser2">jim Ben2</a><span
class='AAA'>
</span>
</td>
</tr>
</table>
string regstr = @"<table>
<tr>
<td>
<table >
</table>
</td>
<td>
<a id=""_l"" href=""http://sites/Person.aspx?accountname=Domain%5CUser"">jim Ben</a><span
class='AAA'>,
<nobr>USER DESIGNER</nobr>
</span>
</td>
</tr>
</table>
";
string pattern = @"<a\s*(\w+\s*=\s*['""].*?['""])*\s*href\s*=\s*['""](?<link>.*?)['""]\s*\1*\s*>(?<linktext>.*?)</a>";
pattern += @"\s*<span[^>]*>.*?<nobr>(?<nobrtext>.*?)</nobr>";
Regex reg = new Regex(pattern, RegexOptions.Singleline
| RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.ExplicitCapture);
MatchCollection matches = reg.Matches(regstr);
int len = matches.Count;
string[] link = new string[len];
string[] linktext = new string[len];
string[] nobrtext = new string[len];
int iIndex = 0;
foreach (Match mat in matches)
{
link[iIndex] = mat.Groups["link"].Value;
linktext[iIndex] = mat.Groups["linktext"].Value;
nobrtext[iIndex] = mat.Groups["nobrtext"].Value;
++iIndex;
}
string result=Regex.Match(strInput,"[<]a\s*[^<]*[>](\w*\s*)*[<][/]a[>]");