示例#1
0
        // перегрузка операции унарного -: удаляет из поля text все фрагменты,
        // соответствующие регулярному выражению поля r.
        public static RegExspression operator -(RegExspression reg)
        {
            RegExspression tmp = new RegExspression();

            tmp.R = reg.R;
            tmp.S = reg.S;
            //Console.WriteLine("reg.R = {0}, reg.S = {1}, tmp.R = {2}, tmp.S = {3}",
            //    reg.R, reg.S, tmp.R, tmp.S);
            tmp.S = tmp.DeleteMatches();

            return(tmp);
        }
示例#2
0
        public static bool operator false(RegExspression reg)
        {
            RegExspression tmp = new RegExspression();

            tmp.S = reg.S;
            if (tmp.S != null)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#3
0
        // перегрузка операции бинарного +: дописывает в конец поля text строку.
        public static RegExspression operator +(RegExspression reg)
        {
            RegExspression tmp = new RegExspression();

            tmp.S = reg.S;

            string newText;

            Console.WriteLine("Введите текст: ");
            newText = Convert.ToString(Console.ReadLine());

            tmp.S += newText;

            return(tmp);
        }
示例#4
0
        static void Main(string[] args)
        {
            RegExspression A = new RegExspression(@"[а-я]", "");

            Console.WriteLine("Введите фразу: ");
            A.S = Convert.ToString(Console.ReadLine());

            A.Exist();
            A.ShowMatches();
            Console.WriteLine("\nОбращение по индексу к регулярному выражению: ");
            Console.WriteLine(A[0]);
            Console.WriteLine("Обращение по индексу к строковому полю: ");
            Console.WriteLine(A[1]);
            A.S = A.DeleteMatches();
            Console.WriteLine("\nТекст после удаления: \n{0}", A.S);

            RegExspression B = new RegExspression(@"[a-z]", "");

            Console.WriteLine("Введите фразу латиницей: ");
            B.S = Convert.ToString(Console.ReadLine());
            // Задача 2 работа с перегрузкой
            B = -B;
            Console.WriteLine("\nТекст после удаления (перегрузка унарный минус): \n{0}", B.S);

            if (B)
            {
                Console.WriteLine("Поле text не пустое");
            }
            else
            {
                Console.WriteLine("Поле text пустое");
            }

            B = +B;
            Console.WriteLine("\nТекст после добавления (перегрузка унарный плюс): \n{0}", B.S);
            Console.ReadKey();
        }