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

本文关键字:顺序 正则表达式 | 更新日期: 2023-09-27 18:10:40

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

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;
}

正如你所看到的,我在我的文本中遍历了所有的出现。

但是如何反转搜索方向呢?

谢谢你的帮助

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

您可以使用'Matches',然后对返回的IEnumerable进行'Reverse'。

在RegexOptions中有一个righttolleft选项-你可能也需要调整你的表达式,但它会为你"向后"搜索