0

regex.matchesのそれぞれに使用して繰り返される一致のインデックスを取得するにはどうすればよいですか?

4

3 に答える 3

0

コレクション内の各MatchオブジェクトにはIndexプロパティがあります。http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.match.aspxを参照してください

于 2012-10-22T04:12:26.087 に答える
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();
            }
        }
于 2012-10-22T04:15:50.293 に答える
0

Match.Index は、一致したアイテムの元の文字列での最初の文字の位置を返します。

MatchCollection はICollectionインターフェイスのみを実装し、実装していないIListため、アイテムの matchcollection から直接インデックスを取得することはできないと思います。

Collection.CopyToただし、 a を使用してそれを配列に移動できます。

http://msdn.microsoft.com/en-us/library/gg695671.aspx

配列には、インデックスを取得するために使用できるIndexOfがあります。

于 2012-10-22T04:17:06.523 に答える