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

Флаги в строке шаблона в C#

В начале шаблона можно указать встроенные флаги в круглых скобках. Они действуют на все выражение. Часто встречаются (?i) (без учета регистра), (?m) (многострочный режим для "^" и "$") и (?s) (точка захватывает перевод строки).

Без флага шаблон [a-z]+ найдет только строчные буквы:

using System.Text.RegularExpressions; string txt = "aaa bbb CCC DDD"; string res = Regex.Replace(txt, @"[a-z]+", "!"); Console.WriteLine(res);

С флагом (?i) буквы любого регистра попадут под шаблон:

using System.Text.RegularExpressions; string txt = "aaa AAA bbb BBB"; string res = Regex.Replace(txt, @"(?i)[a-z]+", "!"); Console.WriteLine(res);

Точка без (?s) не совпадает с переводом строки, поэтому перевод остается в тексте:

using System.Text.RegularExpressions; string txt = "aaa\nbbb"; string res = Regex.Replace(txt, @".", "!"); Console.WriteLine(res);

С флагом (?s) точка захватывает и перевод строки, поэтому заменяются все символы:

using System.Text.RegularExpressions; string txt = "aaa\nbbb"; string res = Regex.Replace(txt, @"(?s).", "!"); Console.WriteLine(res);

Флаг (?m) ставит якорь "$" в конец каждой строки, а не только всего текста:

using System.Text.RegularExpressions; string txt = "aaa\nbbb"; string res = Regex.Replace(txt, @"(?m)$", "!"); Console.WriteLine(res);

Дана строка:

string txt = "Code CODE code";

Замените каждое слово code на * без учёта регистра и выведите строку.

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