Свойство Options
Свойство Options только для чтения:
флаги передают в конструктор
Regex
вторым аргументом типа
RegexOptions.
После создания изменить их нельзя. Лимит
времени хранится в
MatchTimeout.
Синтаксис
var regex = new Regex(pattern, RegexOptions.IgnoreCase);
RegexOptions flags = regex.Options;
Пример
Давайте прочитаем IgnoreCase из
свойства:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var regex = new Regex(@"abc", RegexOptions.IgnoreCase);
Console.WriteLine(regex.Options);
}
}
Результат выполнения кода:
"IgnoreCase"
Пример
Давайте объединим два флага и выведем свойство:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var regex = new Regex(@"abc", RegexOptions.IgnoreCase | RegexOptions.Multiline);
Console.WriteLine(regex.Options.HasFlag(RegexOptions.IgnoreCase));
}
}
Результат выполнения кода:
True
Пример
Давайте проверим, что флаг влияет на
IsMatch:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var regex = new Regex(@"ABC", RegexOptions.IgnoreCase);
Console.WriteLine(regex.IsMatch("abcde"));
}
}
Результат выполнения кода:
True
Смотрите также
-
RegexOptions,
перечисление флагов шаблона -
свойство
MatchTimeout,
которое задают в том же конструкторе -
GeneratedRegex,
который компилирует шаблон заранее -
RegexParseException,
которое бросают при неверном шаблоне