Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
657 of 1492 menu
◀ ▶

Метод EnumerateMatches

EnumerateMatches возвращает перечисление структур ValueMatch с полями Index и Length. Так можно обойти текст, не создавая полный Match для каждого фрагмента. Число совпадений считает Count.

Синтаксис

foreach (ValueMatch m in regex.EnumerateMatches(input)) { }

Пример

Давайте выведем Index и Length для цифр в "a1b2":

using System; using System.Text.RegularExpressions; class Program { static void Main() { var regex = new Regex(@"\d"); foreach (ValueMatch m in regex.EnumerateMatches("a1b2")) { Console.WriteLine($"{m.Index} {m.Length}"); } } }

Результат выполнения кода:

1 1 3 1

Пример

Давайте обойдем совпадения шаблона bc в "abcde":

using System; using System.Text.RegularExpressions; class Program { static void Main() { var regex = new Regex(@"bc"); foreach (ValueMatch m in regex.EnumerateMatches("abcde")) { Console.WriteLine($"{m.Index} {m.Length}"); } } }

Результат выполнения кода:

1 2

Пример

Давайте вызовем статический Regex.EnumerateMatches:

using System; using System.Text.RegularExpressions; class Program { static void Main() { foreach (ValueMatch m in Regex.EnumerateMatches("12345", @"\d")) { Console.WriteLine(m.Length); } } }

Результат выполнения кода:

1 1 1 1 1

Смотрите также

  • метод Count,
    который возвращает только количество
  • метод Matches,
    который создаёт MatchCollection
  • метод Match,
    который даёт первое полное совпадение
  • цифра,
    которую ищут шаблоном \d
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить