Вывести даты другим цветом с помощью регулярных выражений - 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();
}
}
}