Вывести на экран все адреса web-сайтов из строки с помощью регулярного выражения - C#
Формулировка задачи:
Дана строка, в которой содержится осмысленное текстовое сообщение. Слова
сообщения разделяются пробелами и знаками препинания.Выведите на экран все адреса web-сайтов, содержащиеся в сообщении.
Для ввода нескольких строк можно использовать следующий фрагмент
программы
Листинг программы
- // Ввод данных
- string text = ""; // Исходный текст из нескольких строк
- Console.WriteLine("Введите строки. Пустая строка - конец ввода!");
- string st = Console.ReadLine(); // st - текущая строка text
- while (st != "") // Пока st не пуста
- {
- text += "\n" + st;
- st = Console.ReadLine();
- }
Решение задачи: «Вывести на экран все адреса web-сайтов из строки с помощью регулярного выражения»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Text.RegularExpressions;
- namespace ConsoleApplication1
- {
- class Program
- {
- static void Main(string[] args)
- {
- // Ввод данных
- string text = ""; // Исходный текст из нескольких строк
- Console.WriteLine("Введите строки. Пустая строка - конец ввода!");
- string st = Console.ReadLine(); // st - текущая строка text
- while (st != "") // Пока st не пуста
- {
- text += "\n" + st;
- st = Console.ReadLine();
- }
- string pattern = @"((https?|ftp)\:\/\/)?([a-z0-9]{1})((\.[a-z0-9-])|([a-z0-9-]))*\.([a-z]{2,6})(\/?)";
- Regex newReg = new Regex(pattern);
- MatchCollection matches = newReg.Matches(text);
- foreach(Match mat in matches)
- {
- Console.WriteLine("Значение найденного объекта {0}",mat.Value);
- }
- Console.WriteLine("Число найденных совпадений{0}",matches.Count);
- Console.ReadLine();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д