正则如何只返回一个匹配 比如:<a 111 ...>111</a><a 222 ...>222</a><a 333 ...>333</a>...代表任意字符或空白字符要求只返回最后一个<a 333 ...>333</a>.net语法正则表达式怎么写?谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把这一串文本倒过来,网上找一段正则表达式(获取HTML元素的),有可能做相应修改(有的是取<><>,仔细点的会取<></>),而你的是>/<..><这种形式的。然后把取得的第一个匹配部分再倒过来。 使用Matches获得的MatchCollection的索引最大的那个 string test = @"abc...<a 111 ...>111 </a> <a 222 ...>222 </a> <a 333 ...>333 </a> def...";Match m = Regex.Match(test, @"<a[^>]*>((?!</a>)[\s\S])*</a>", RegexOptions.RightToLeft|RegexOptions.IgnoreCase);if (m.Success){ richTextBox2.Text = m.Value;}以上代码虽然简洁且效率相对高点,但除非你对RegexOptions.RightToLeft的使用场景比较了解,否则不建议使用RegexOptions.RightToLeft在正则中本来就是一个奇怪的语法,使用不当,会得到无法预知的结果以下代码虽然效率相对低些,但是结果是可预知的,还是建议采用这种方式string test = @"abc...<a 111 ...>111 </a> <a 222 ...>222 </a> <a 333 ...>333 </a> def...";Match m = Regex.Match(test, @"<a[^>]*>((?!</a>)[\s\S])*</a>(?=((?!</?a>)[\s\S])*$)", RegexOptions.IgnoreCase);if (m.Success){ richTextBox2.Text = m.Value;} string str = @"<a 111 ...>111 </a> <a 222 ...>222 </a> <a 333 ...>333 </a> ";Regex r = new Regex("(?=<a )(.*?)(?<=</a>)");MatchCollection mc = r.Matches(str);所求=mc[mc.Count - 1].Value; datatable Image导出EXCEL 就是你的回答 请问哪种方式适合速度快的外挂? 删除文件问题?无法删除,但程序不报错!!! 调用存储过程的问题. 请教,如何得到当前日期是星期几啊? 写一个windows服务里面能调用Web Services服务吗? 请问如何使用C#模拟登录这种HTTPS验证页面 派生类如何重写这样的属性? 在C# 2005中,怎样在A项目(window应用程序)的普通窗体Form1中打开B项目(window应用程序)中的MDI窗体 WAP浏览器 的实现 求C#好书!
<a 222 ...>222 </a>
<a 333 ...>333 </a>
def...";
Match m = Regex.Match(test, @"<a[^>]*>((?!</a>)[\s\S])*</a>", RegexOptions.RightToLeft|RegexOptions.IgnoreCase);
if (m.Success)
{
richTextBox2.Text = m.Value;
}以上代码虽然简洁且效率相对高点,但除非你对RegexOptions.RightToLeft的使用场景比较了解,否则不建议使用
RegexOptions.RightToLeft在正则中本来就是一个奇怪的语法,使用不当,会得到无法预知的结果以下代码虽然效率相对低些,但是结果是可预知的,还是建议采用这种方式
string test = @"abc...<a 111 ...>111 </a>
<a 222 ...>222 </a>
<a 333 ...>333 </a>
def...";
Match m = Regex.Match(test, @"<a[^>]*>((?!</a>)[\s\S])*</a>(?=((?!</?a>)[\s\S])*$)", RegexOptions.IgnoreCase);
if (m.Success)
{
richTextBox2.Text = m.Value;
}
<a 222 ...>222 </a>
<a 333 ...>333 </a> ";Regex r = new Regex("(?=<a )(.*?)(?<=</a>)");
MatchCollection mc = r.Matches(str);所求=mc[mc.Count - 1].Value;