C# 反向正则表达式匹配集合项?

C# 反向正则表达式匹配集合项?,c#,.net,regex,vb.net,reverse,C#,.net,Regex,Vb.net,Reverse,是否有一种方法可以反转RegEx.MatchCollection的项 例如,如果MatchCollection包含这些匹配项: a1 a2 a3 然后我想反转集合项,以便项索引为以下内容: a3 a2 a1 …保留其匹配索引和其他匹配信息,如长度、组等。不完全是匹配集合,而是IEnumerable myMatchCollection.Cast().Reverse() 可能已经足够好了。VB.NET版本: Imports System.Text.RegularExpressions Di

是否有一种方法可以反转RegEx.MatchCollection的项

例如,如果MatchCollection包含这些匹配项:

a1
a2
a3
然后我想反转集合项,以便项索引为以下内容:

a3
a2
a1

…保留其匹配索引和其他匹配信息,如长度、组等。

不完全是
匹配集合,而是
IEnumerable

myMatchCollection.Cast().Reverse()
可能已经足够好了。

VB.NET版本:

 Imports System.Text.RegularExpressions
 Dim matches() As Match = Regex.Matches("ABCDA", "A").Cast(Of Match).Reverse().ToArray()

 MsgBox(matches.First.Index) ' Result: 4

它是否需要另一个
MatchCollection
,或者您可以抓取
匹配项
并将其反转,例如
var reversed=matches.Cast().Reverse()
@sa_ddam213谢谢你的评论,我仍然丢失了一个反向Ienumerable,这还不够,我认为收集的类型无关紧要,虽然我仍然可以检索到我需要的物品信息,但我不确定,你是专家,再次感谢。谢谢你,但我对Ienumerable没有太多经验,我需要将反转器转换为其他类型?然后我如何检索匹配信息?尝试使用LINQ和IEnumerable创建一个MatchCollection,但是'Match'和'MatchCollection'没有'New'构造函数,因此类似的东西无法工作:matches=matches.Cast(Of Match)(.Reverse().Select(Function(m)New Match(m))哎哟,谢谢你的时间,我把它作为一个数组来做,所有的工作都很好:Dim var=matches.Cast(Of Match)(.Reverse().ToArray MsgBox(var.First.Groups(0.Value))
 Imports System.Text.RegularExpressions
 Dim matches() As Match = Regex.Matches("ABCDA", "A").Cast(Of Match).Reverse().ToArray()

 MsgBox(matches.First.Index) ' Result: 4