日期:2014-05-18  浏览次数:21084 次

求教一个正则表达式
<a   Class= 'p14 '   target= '_blank '     href= 'test.html '   title= 'XXXX '> <font   color= '#000000 '> XXX </font> </a>

我要匹配
<font   color= '#000000 '> XXX </font>
这个里面的XXX,不要包含在 <a> 标签里的的XXX
也就是说不匹配包含在 <> 之内的

谢谢

------解决方案--------------------
-_-#,还真问着了,如果是提取,你的需求描述就不该是这样的了

因为是提取,除非XXX是固定的,否则跟它就没多大关系了,要提取的内容符合什么规律,是在
<font...> 和 </font> 标答内,还是在
<a...> 和 </a> 标签内的非html标签内容

这样试下

string result = string.Empty;
Match m = Regex.Match(yourStr, @ " <a[^> ]*> (\s* <[^> ]*> )*?(? <content> [^ <> ]*)(\s* <[^> ]*> )*? </a> ", RegexOptions.IgnoreCase);
if (m.Success)
{
result = m.Groups[ "content "].Value;
}

上面是提取一个的,如果是提取多个,说明一下