正则表达式:反转匹配顺序
我有这个片段来执行正则表达式搜索:
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;
}
如您所见,我遍历了文本中的所有出现情况。
但如何反转搜索方向呢?
感谢您的帮助
i have this snippet to perform a regex-search:
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;
}
As you can see, i walk down all occourences in my text.
but how to inverse the search-direction?
thanks for your help
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用“匹配”,然后执行“反向'返回的 IEnumerable。
You could use 'Matches' then do a 'Reverse' on the returned IEnumerable.
中有一个 RightToLeft 选项RegexOptions - 您可能还需要调整您的表达式,但这将为您“向后”搜索。
There's a RightToLeft option in RegexOptions - you may have to adjust your expression too, but that will search "backwards" for you.