05 June 2016

Regular Expressions trong C# .NET [Fpt aptech] Index Tìm và Lấy ra vị trí của chuỗi



Regular Expressions trong C# Bắt lỗi người nhập email
Regex C# 2016
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions; //Library RegularExpressions

namespace demoRegex
{
    class Program
    { 

        static void Main(string[] args)
        {
            //Regular Expressions (regex or regexp) in C#
            Console.Write("Enter the Email:  ");
            string email = Console.ReadLine();

            Regex rx = new Regex("^[a-zA-Z0-9]{3,20}@[a-zA-Z0-9]{2,10}.[a-zA-Z]{2,3}$");

            if (!rx.IsMatch(email))
                Console.WriteLine("Email format is not Correct!");
            else
                Console.WriteLine("Email format is Conrrect!");
            Console.Read();
        }
    }

}
Regular Expressions trong C# Lấy ra ngày tháng năm trong chuỗi
Regex C# 2016
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions; //Library RegularExpressions

namespace demoDelegate
{
    class Program
    { 

        static void Main(string[] args)
        {
            //Regular Expressions (regex or regexp) in C#
            string myText = "Today is the 6.5.2016  It is World Environment Day";

            //Pattern \\d{1}.\\d{1}.\\d{4}
            Regex rx = new Regex("\\d{1}.\\d{1}.\\d{4}"); 

            Match m = rx.Match(myText);

            while(m.Success){
                Console.WriteLine("Found: "+m.Value);
                m = m.NextMatch(); //Move to the next match
            }

            Console.Read();
        }
    }

}

Regular Expressions trong C# Lấy ra tất cả các số trong chuỗi
Regex C# 2016
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions; //Library RegularExpressions

namespace demoRegex
{
    class Program
    { 

        static void Main(string[] args)
        {
            //Regular Expressions (regex or regexp) in C#
            string myText = "Today is the 6.5.2016  It is World Environment Day 9:30 AM";

            //Pattern [0-9]+ lấy ra tất cả các số trong chuỗi 
            Match m = Regex.Match(myText,"[0-9]+"); 

            while(m.Groups[0].Value != ""){
                Console.WriteLine("Found: "+m.Value);
                m = m.NextMatch(); //Move to the next match Chuyển sang match tiếp theo
            }

            Console.Read();
        }
    }

}

Regular Expressions trong C# Tìm và Lấy ra vị trí của chuỗi
Regex C# 2016
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions; //Library RegularExpressions

namespace demoRegex
{
    class Program
    { 

        static void Main(string[] args)
        {
            //Regular Expressions (regex or regexp) in C#
            string myText = "aoop aggt allp auuk aiio aeep";

            //Pattern @"a\w+p" lấy từ có chữ a ở đầu và chữ p ở cuối
            MatchCollection m = Regex.Matches(myText,@"a\w+p"); 

            foreach(Match match in m){
               foreach(Capture capture in match.Captures){
                   Console.WriteLine("Value: {0} and {1}",capture.Value,capture.Index);
               }

            }
            Console.Read();
        }
    }
}

Regular Expressions trong C# [Region cất dấu nhóm code] 
Regex C# 2016
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;

namespace RegularExDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            Regex regex = new Regex(@"\d+ \D+ \d+"); // /d: lấy số từ 0-9; /D: lấy kí tự ko fai số
            Match match = regex.Match("ABc 3453534543543543534545 Def 333333");
            if (match.Success)
            {
                Console.WriteLine(match.Value);
            }

            #region: Match collection
            ////tập hợp chứa những so khớp
            //MatchCollection mc;
            ////1 chuỗi thử nghiệm
            //string chuoi = "I like money, like woman and like C#";
            ////tạo pattern
            //string pattern = "like";
            ////khởi tạo 1 đối tượng của Regex
            ////truyền chuỗi pattern vào constructor
            //Regex myRegex = new Regex(pattern);
            ////dùng phương thức Matches của myRegex
            ////để tìm ra matches và chỉ mục của từng match
            //mc = myRegex.Matches(chuoi);
            //foreach (Match m in mc)
            //{
            //    Console.WriteLine("Chuoi con '{0}' xuat hien o chi muc {1}", m.Value, m.Index);
            //}
            #endregion

            #region
            ////tập hợp chứa những so khớp
            //MatchCollection mc;
            ////1 chuỗi thử nghiệm
            //string chuoi = "This is a example string.";
            ////tạo pattern
            ////luật:cho tìm ra bất cứ những ký tự không phải ký tự khoảng trắng
            ////rồi theo sau nó là kí tự khoảng trắng
            //string pattern = @"\S+\s";
            ////khởi tạo 1 đối tượng của Regex
            ////truyền chuỗi pattern vào constructor
            //Regex myRegex = new Regex(pattern);
            ////dùng phương thức Matches của myRegex
            ////để tìm ra matches và chỉ mục của từng match
            //mc = myRegex.Matches(chuoi);
            //for (int i = 0; i < mc.Count; i++)
            //{
            //    Console.WriteLine("The match[{0}]: '{1}' co chieu dai la {2}", i, mc[i].Value, mc[i].Length);
            //    #endregion
            //}
            #endregion

            #region: kiểm tra tính hợp lệ của email
            // string str = "khanh.bn@gmail.com";
            //Console.WriteLine("Nhap vao email cua ban: ");
            //string str = Console.ReadLine();
            //string pattern1 = @"^[\w.*]+@[a-z].*$";
            // ^[\w]+([.][\w]+)*[@][\w]+([.][A-z0-9]+)*[.][A-z]{2,4}$ : chuỗi 
            //Regex myRegex1 = new Regex(pattern1);
            //MatchCollection mc = myRegex1.Matches(str);
            //foreach (Match m in mc)
            //{
            //    if (m.Success)
            //    {
            //        Console.WriteLine("email: {0} hop le ",m);

            //    }
            //    else
            //    {
            //        Console.WriteLine("KO hop le");
            //    }

            //}
            //Match m = myRegex1.Match(str);
            //if (m.Success)
            //{
            //    Console.WriteLine("email: {0} hop le ", m);
            //}else
            //{
            //    Console.WriteLine("email: {0}  ko hop le ", m);
            //}
            //    Console.Read();
            #endregion

            #region: kiểm tra định dạng ngày tháng
            Console.WriteLine("Nhap vao ngay thang nam: ");
            string str = Console.ReadLine();
            //string pattern1 = @"^(?<day>(0?[1-9]|[12][\d]|3[01]))[\/\-](?<month>(0?[1-9]|1[012]))[\/\-](?<year>(\d{4}))$";
            //string pattern1 = @"^((0?[13578]|10|12)(-|\/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[01]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1}))|(0?[2469]|11)(-|\/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[0]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1})))$";
            //Regex myRegex1 = new Regex(pattern1);
            //Match m = myRegex1.Match(str);
            if (checkDate(str))
            {
                Console.WriteLine("ngay,thang,nam: {0} hop le ", str);
            }
            else
            {
                Console.WriteLine("ngay,thang,nam: {0} ko hop le ", str);
            }

            //Console.WriteLine(day + month + year);


            Console.ReadLine();
            #endregion
        }
        public static bool checkDate(string date)
        {

            string pattern1 = @"^(?<day>(0?[1-9]|[12][\d]|3[01]))[\/\-](?<month>(0?[1-9]|1[012]))[\/\-](?<year>(\d{4}))$";
            //string pattern1 = @"^((0?[13578]|10|12)(-|\/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[01]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1}))|(0?[2469]|11)(-|\/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[0]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1})))$";
            Regex myRegex1 = new Regex(pattern1);
            Match m = myRegex1.Match(date);

            string day = m.Groups["day"].Value;
            string month = m.Groups["month"].Value;
            string year = m.Groups["year"].Value;
            Console.WriteLine(day + month + year);
            if (int.Parse(day) == 31 && (int.Parse(month) == 1 || int.Parse(month) == 3 || int.Parse(month) == 5 || int.Parse(month) == 7 || int.Parse(month) == 8 || int.Parse(month) == 10 || int.Parse(month) == 12))
            {
                return true;
            }
            else if (int.Parse(day) == 30 && ( int.Parse(month) == 4 || int.Parse(month) == 6 || int.Parse(month) == 9 || int.Parse(month) == 8 || int.Parse(month) == 11))
            {
                return true;
            }else if(int.Parse(day) == 28 && int.Parse(month) == 2)
            {
                return true;
            }else if(int.Parse(day) == 29 && int.Parse(month) == 2 && (int.Parse(year) % 4 == 0) && ((int.Parse(year) % 100 != 0) || (int.Parse(year) %400 ==0)))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang