如何在regex.matches中为每个迭代使用迭代索引?
答案 0 :(得分:0)
集合中的每个Match
对象都具有Index
属性。见http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.match.aspx
答案 1 :(得分:0)
尝试如下
string strInput = "YourString";
Regex regex = new Regex("Your Regex to match");
var m = regex.Match(strInput);
if (m.Success)
{
foreach (var matches in regex.Matches(strInput))
{
if (m.Success)
{
Console.WriteLine(m.Index);
}
m = m.NextMatch();
}
}
答案 2 :(得分:0)
Match.Index将返回匹配项在原始字符串上的第一个字符的位置。
MatchCollection仅实现ICollection
接口并且不实现IList
,所以我认为不可能直接从matchcollection中检索索引。
但您可以使用Collection.CopyTo
将其移动到数组中。
http://msdn.microsoft.com/en-us/library/gg695671.aspx
数组确实有IndexOf,您可以使用它来检索索引。