Вывести даты другим цветом с помощью регулярных выражений - C#
Формулировка задачи:
Разработать приложение, позволяющие обрабатывать текст с использованием регулярных выражений. Исходный текст храниться в файле. Текст после преобразования и исходный текст вывести в консоль.
В произвольном тексте все даты (в формате DD.MM.YYYY и MM/DD/YYYY) вывести красным
цветом.
За ранее спасибо.
Решение задачи: «Вывести даты другим цветом с помощью регулярных выражений»
textual
Листинг программы
- using System;
- using System.Text.RegularExpressions;
- using System.Windows.Forms;
- using System.IO;
- namespace ConsoleApplication1
- {
- class MainClass
- {
- [STAThread]
- public static void Main(string[] args)
- {
- const string pattern = "[0-3][1-9][/][0-1][1-9][/]\\d{4}|[0-3][1-9][.][0-1][1-9][.]\\d{4}";
- OpenFileDialog fileDialog = new OpenFileDialog();
- fileDialog.Filter = "txt files (*.txt)|*.txt";
- if (fileDialog.ShowDialog() == DialogResult.OK)
- {
- string text = File.ReadAllText(fileDialog.FileName);
- MatchCollection match = Regex.Matches(text, pattern, RegexOptions.IgnoreCase);
- Console.WriteLine($"Исходная строка:\n\n{text}\n\nВидоизмененная строка:\n\n");
- for (int i = 0; i < text.Length; i++)
- {
- foreach (Match m in match)
- {
- if ((i >= m.Index) && (i < m.Index + m.Length))
- {
- Console.ForegroundColor = ConsoleColor.Red;
- break;
- }
- else
- {
- Console.ForegroundColor = ConsoleColor.Gray;
- }
- }
- Console.Write(text[i]);
- }
- }
- Console.ReadKey();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д