让我们说一个HTML代码:
<a href="http://google.com">this is a search engine</a>"
如何查找“引擎”并匹配所有内容,直到达到“此”?
我知道我可以做到:this。*?engine-但这是从左到右匹配,即“提前”匹配,如果可以的话,我想向后阅读?
您可以反转所有字符串并执行常规搜索:
string text = @"<a href=""http://google.com""> this is a search engine </a>";
string engine = "engine";
string strThis = "this";
new string(
Regex.Match(
new string(text.Reverse().ToArray()),
new string(engine.Reverse().ToArray()) + ".+" + new string(strThis.Reverse().ToArray()))
.Value
.Reverse()
.ToArray())
[另外,为了使代码更清晰,您可以在string
上定义扩展方法,该方法将字符串反转并返回string
而不是IEnumerable<char>
。请参阅this以供参考。