【正则问题求助】最小匹配问题,问题是不是只能处理右侧最小不能处理左侧? 举例:字符串是aaacbacad正则表达式是a.+?b结果是aaacb如果我想得到结果 acb,可以写的出来吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Regex reg = new Regex(@"a[^a]*?b"); 是我的例子误导了,主要是希望实现左侧的最小匹配比如用 <span>.+?</span> 去匹配 <span>aaa<span>bbb</span></span>现在得到的是<span>aaa<span>bbb</span> 我希望得到的是 <span>bbb</span>,也就是说通配符前边的<span>可以找到两个匹配时取右边的,用正则能做到吗? 可以考虑通过MatchCollection mc = reg.Matches(source);得到匹配列表,你去第一个或最后一个,应该就是你要的吧 Try:<span>((?!</?span>).)+?</span> 简化一下:<(span)>((?!</?\1>).)+?</\1> 用文本编辑器写aspx程序。。。 高手啊!快进——如何提高图片在报表中的打印质量 怎样控制contextMenuStrip在特定区域弹出? C# Socket 问题 第二次发送之后接收不到数据 我的vss,别人如何访问? 关于晶报表的问题? 一个非常奇怪的错误, 时有时无... 就这10分了, 各位大虾帮帮看看吧!!!! 页面传值问题 菜鸟问题了。asp.net 对一个表列的查询 怎么打印Chart生成的图 水晶报表crystalReportViewer实现数据绑定
是我的例子误导了,主要是希望实现左侧的最小匹配
比如用 <span>.+?</span> 去匹配
<span>aaa<span>bbb</span></span>
现在得到的是
<span>aaa<span>bbb</span> 我希望得到的是 <span>bbb</span>,也就是说通配符前边的<span>可以找到两个匹配时取右边的,用正则能做到吗?
<span>((?!</?span>).)+?</span>
<(span)>((?!</?\1>).)+?</\1>