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

Свойство MatchTimeout

Значение MatchTimeout задают в конструкторе Regex третьим параметром TimeSpan. По умолчанию лимита нет - Timeout.InfiniteTimeSpan. Свойство только для чтения. Флаги шаблона хранятся в Options.

Синтаксис

var regex = new Regex(pattern, options, matchTimeout); TimeSpan limit = regex.MatchTimeout;

Пример

Давайте зададим лимит в 2 секунды и прочитаем свойство:

using System; using System.Text.RegularExpressions; class Program { static void Main() { var regex = new Regex(@"abc", RegexOptions.None, TimeSpan.FromSeconds(2)); Console.WriteLine(regex.MatchTimeout.TotalSeconds); } }

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

2

Пример

Давайте создадим Regex с бесконечным таймаутом:

using System; using System.Text.RegularExpressions; class Program { static void Main() { var regex = new Regex(@"abc", RegexOptions.None, Timeout.InfiniteTimeSpan); bool res = regex.MatchTimeout == Timeout.InfiniteTimeSpan; Console.WriteLine(res); } }

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

True

Пример

Давайте выполним поиск в пределах заданного таймаута:

using System; using System.Text.RegularExpressions; class Program { static void Main() { var regex = new Regex(@"bcd", RegexOptions.None, TimeSpan.FromSeconds(1)); bool res = regex.IsMatch("abcde"); Console.WriteLine(res); } }

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

True

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

  • свойство Options,
    которое хранит флаги шаблона
  • Regex,
    класс, где задают MatchTimeout
  • RegexOptions,
    которые передают в конструктор
  • RegexParseException,
    которое связано с ошибкой шаблона
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить