Index у Capture
Index у
Capture
считается с нуля, как и
Index
у Match.
Каждый элемент
Captures
имеет свой Index.
Синтаксис
int pos = match.Groups[1].Captures[i].Index;
Пример
Давайте найдем Index захвата:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
Match match = Regex.Match("abcde", @"(cde)");
Console.WriteLine(match.Groups[1].Captures[0].Index);
}
}
Результат выполнения кода:
2
Пример
Давайте выведем Index для
(\w)+ на "abc":
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
Match match = Regex.Match("abc", @"(\w)+");
CaptureCollection caps = match.Groups[1].Captures;
Console.WriteLine(caps[0].Index);
Console.WriteLine(caps[1].Index);
Console.WriteLine(caps[2].Index);
}
}
Результат выполнения кода:
0
1
2
Пример
Давайте сравнить Index группы
и первого захвата:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
Match match = Regex.Match("12345", @"(\d+)");
Group group = match.Groups[1];
Capture cap = group.Captures[0];
Console.WriteLine(group.Index);
Console.WriteLine(cap.Index);
}
}
Результат выполнения кода:
0
0
Смотрите также
-
Value,
текст захвата -
Index у Match,
начало всего совпадения -
Length,
длина совпадения -
Capture,
класс со свойствомIndex