查找正则表达式中的最后一个匹配项

Jes*_*rks 2 .net c# regex

我有一个字符串和一个正则表达式,我正在运行它。但不是第一场比赛,我对正则表达式的最后一场比赛感兴趣。

有没有快速/简单的方法来做到这一点?

我目前正在使用 Regex.Matches,它返回一个 MatchCollection,但它不接受任何对我有帮助的参数,所以我必须遍历集合并获取最后一个。但似乎应该有一种更简单的方法来做到这一点。在那儿?

Ala*_*ore 5

.NET regex 风格允许您从右到左而不是从左到右搜索匹配项。这是我所知道的唯一提供这种功能的口味。它比传统方法更简洁、更高效,例如在正则表达式前加上.*,或搜索所有匹配项以便您可以使用最后一个。

要使用它,请在调用Match()(或其他正则表达式方法)时传递此选项:

RegexOptions.RightToLeft 
Run Code Online (Sandbox Code Playgroud)

可以在此处找到更多信息。