Регулярное выражение: Порядок обратного соответствия - PullRequest
4 голосов
/ 08 октября 2011

У меня есть этот фрагмент, чтобы выполнить поиск по регулярному выражению:

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 ]

5 голосов
/ 08 октября 2011

Вы можете использовать ' Matches ', а затем сделать ' Reverse ' для возвращенного IEnumerable.

2 голосов
/ 08 октября 2011

В RegexOptions есть опция RightToLeft - вам, возможно, придется также скорректировать свое выражение, но это будет искать вас "назад".

...