正则表达式:反转匹配顺序

时间:2011-10-08 10:19:38

标签: c# regex search ienumerable

我有这个片段来执行正则表达式搜索:

public IEnumerable<MyMatch> GetMyMatches() 
{
   Match m = myRegex.Match(Text, offset);
   if (m != null && m.Success && m.Value != null && m.Value.Length > 0)
   {
      offset = m.Index+m.Length;
      yield return new MyMatch() { Match=m, SomeFurtherInformation=... };
   } else
   yield break;
}

正如你所看到的,我在文本中走下了所有的秘密。

但如何反转搜索方向?

感谢您的帮助

2 个答案:

答案 0 :(得分:5)

您可以使用“Matches”然后在返回的IEnumerable上执行“Reverse”。

答案 1 :(得分:2)

RegexOptions中有一个RightToLeft选项 - 您可能还需要调整表达式,但这会为您“向后”搜索。