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

Singleline

RegexOptions.Singleline - это не режим «вся строка текста», а правило для точки .: она совпадает и с \n. Без флага шаблон a.b не пройдёт через перевод строки между a и b. Якоря по строкам задаёт Multiline.

Синтаксис

new Regex(@"a.b", RegexOptions.Singleline);

Пример

Давайте сопоставить a.b через перевод строки:

using System; using System.Text.RegularExpressions; class Program { static void Main() { string text = "a\nb"; Console.WriteLine(Regex.IsMatch(text, @"a.b", RegexOptions.Singleline)); } }

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

True

Пример

Давайте сравнить без флага и с Singleline:

using System; using System.Text.RegularExpressions; class Program { static void Main() { string text = "a\nb"; Console.WriteLine(Regex.IsMatch(text, @"a.b")); Console.WriteLine(Regex.IsMatch(text, @"a.b", RegexOptions.Singleline)); } }

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

False True

Пример

Давайте взять фрагмент .+ на двух строках:

using System; using System.Text.RegularExpressions; class Program { static void Main() { string text = "abc\ndef"; var m = Regex.Match(text, @".+", RegexOptions.Singleline); Console.WriteLine(m.Value.Contains("\n")); } }

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

True

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

  • флаг Multiline,
    который меняет ^ и $
  • символ any,
    который с точкой связан Singleline
  • перечисление RegexOptions,
    куда входит Singleline
  • класс Regex,
    которому передают флаги
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить