# Регулярные выражения ### [任务 ₍ᐢ. ̫ .ᐢ₎](https://github.com/kolei/OAP/blob/master/articles/lab5_regex.md) ## 任务-1 ``` using System; using System.Text.RegularExpressions; class Program { static void Main() { string input = "Найдите все натуральные числа: 123, а также число 456 и число 7890."; string pattern = @"\b\d+\b"; Regex regex = new Regex(pattern); MatchCollection matches = regex.Matches(input); foreach (Match match in matches) { Console.WriteLine(match.Value); } } } ``` ``` 123 456 7890 ``` ## 任务-2 ``` using System; using System.Text.RegularExpressions; class Program { static void Main() { string input = "Найдите ВСЕ слова, написанные КАПСОМ внутри текста."; string pattern = @"\b(?:[А-ЯЁA-Z]+\b|\b[А-ЯЁA-Z]+(?=[а-яёa-z]))"; Regex regex = new Regex(pattern); MatchCollection matches = regex.Matches(input); foreach (Match match in matches) { Console.WriteLine(match.Value); } } } ``` ``` Н ВСЕ КАПСОМ ``` ## 任务-3 ``` using System; using System.Text.RegularExpressions; class Program { static void Main() { string input = "Найдите слова, в которых есть русская буква, а когда-нибудь за ней цифра, например, бамбук27."; string pattern = @"\b\p{IsCyrillic}+\d+\p{IsCyrillic}*\b"; Regex regex = new Regex(pattern); MatchCollection matches = regex.Matches(input); foreach (Match match in matches) { Console.WriteLine(match.Value); } } } ``` ``` бамбук27 ``` ## 任务-4 ``` using System; using System.Text.RegularExpressions; class Program { static void Main() { string input = "Найдите все слова, начинающиеся с Русской или Латинской Большой буквы."; string pattern = @"\b[\p{Lu}\p{Lu}]([\p{L}])*\b"; Regex regex = new Regex(pattern); MatchCollection matches = regex.Matches(input); foreach (Match match in matches) { Console.WriteLine(match.Value); } } } ``` ``` Найдите Русской Латинской Большой ``` ## 任务-5 ``` using System; using System.Text.RegularExpressions; class Program { static void Main() { string input = "Найдите слова, которые начинаются на гласную букву, используя регулярные выражения."; string pattern = @"\b[aeiouаеёиоуыэюяAEIOUАЕЁИОУЫЭЮЯ]\w*\b"; Regex regex = new Regex(pattern, RegexOptions.IgnoreCase); MatchCollection matches = regex.Matches(input); foreach (Match match in matches) { Console.WriteLine(match.Value); } } } ``` ``` используя ``` ## 任务-6 ``` using System; using System.Text.RegularExpressions; class Program { static void Main() { string input = "Найти 321 числа 7255, которые 791 не находятся внутри или на границе слова 22."; // поиск натуральных чисел string pattern = @"(? Пример HTML-страницы

Оглавление

"; string pattern = @"

Оглавление<\/h1>.*?<\/ul>"; Regex regex = new Regex(pattern, RegexOptions.Singleline); // поиск оглавления в html-странице Match match = regex.Match(html); if (match.Success) { Console.WriteLine(match.Value); } } } ``` ```

Оглавление

``` ## 任务-10 ``` using System; using System.Text.RegularExpressions; class Program { static void Main() { string html = @" Пример HTML-страницы

Оглавление

"; string pattern = @"

Оглавление<\/h1>\s*