Щоб використовувати клас Regex, потрібно звернутися до простору назв: використовуючи System.Text.RegularExpressions;
Валідація реалізується за допомогою класу Regex
Приклад 1: Анотований код робить те саме, але один є статичним методом, а інший — методом екземпляра
джерело var = "Лю Бей, Гуань Юй, Чжан Фей, Сунь Цюань"; Regex regex = новий Regex («Сунь Цюань»); якщо (regex. IsMatch (джерело)) //{ Console.WriteLine("Рядок містить чутливі слова: Sun Quan!) ); //} якщо (Regex.IsMatch (джерело, "Sun Quan"))
{ Console.WriteLine("Рядок містить чутливі слова: Sun Quan!) );
} Console.ReadLine();
Приклад 2: Використовуючи конструктор з двома параметрами, другий параметр вказує ігнорування випадку і часто використовується
var source = "123abc345DEf"; Regex regex = новий Regex("def",RegexOptions.IgnoreCase); якщо (regex. IsMatch (джерело))
{ Console.WriteLine("Рядок містить чутливі слова: def!) );
} Console.ReadLine();
Використовуйте клас Regex для заміни
Приклад 1: Проста ситуація
Джерело var = "123abc456ABC789"; Статичний метод var newSource=Regex.Replace(source,"abc","|",RegexOptions.IgnoreCase); Метод екземплярів Regex regex = новий Regex("abc", RegexOptions.IgnoreCase); var newSource = regex. Replace(джерело, "|"); Console.WriteLine("Оригінальний рядок:"+source); Console.WriteLine("Замінено рядок:"+newSource); Console.ReadLine();
Результат:
Оригінальний рядок: 123abc456ABC789
Замінена струна: 123|456|789
Приклад 2: Замінивши відповідні опції на html-код, ми використали делегування MatchEvaluator
var source = "123abc456ABCD789"; Regex regex = новий Regex("[A-Z]{3}", RegexOptions.IgnoreCase); var newSource = regex. Замінити (джерело, новий MatchEvaluator(OutPutMatch)); Console.WriteLine("Оригінальний рядок:"+source); Console.WriteLine("Замінено рядок:"+newSource); Console.ReadLine();
приватна статична низка OutPutMatch (матч матчу)
{ повернути "<b>" + match. Value+ "</b>";
}
Вихід:
Оригінальний рядок: 123abc456ABCD789
Замінена струна: 123<b>abc</b>456<b>ABC</b>D789 |