chapter19學習小括號運算符(分組運算符)

源代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;


namespace chapter19學習小括號運算符
{
    class Program
    {
        /// <summary>
        /// 學習小括號運算符
        /// </summary>
        public void Test1()
        {
            string str = "213ab11ab22kjhghj";


            //模式定義
            string strPattern = @"(ab\w{2}){2}";
            //輸出結果
            Console.WriteLine(Regex.Replace(str, strPattern, "*"));
        }


        /// <summary>
        /// 檢索
        /// </summary>
        public void Test2()
        {
            string str = "213aob11ab22kjhghj";
            if(IsOK(str))
            {
                Console.WriteLine("檢索成功");
            }
            else
            {
                  Console.WriteLine("檢測失敗");
            }
          
          
        }


        public bool IsOK(string str)
        {
            //模式定義,{2}表示重複兩次
            string strPattern = @"(ab\w{2}){2}";
            return Regex.IsMatch(str, strPattern);
        }


        /// <summary>
        /// 驗證座機電話號碼是否爲合法
        /// (010)-12345678
        /// 010-12345678
        /// 01012345678
        /// </summary>
        public void Test3()
        {
            string strTest1 = "(010)-12345678";//true
            string strTest2 = "010-12345678";//true
            string strTest3 = "01012345678";//true
            string strTest4 = "010)-12345678";//false
            string strTest5 = "(010)12345678";//true
            string strTest6 = "(010)-12hj5679";//false


            //定義模式,?表示重複一到兩次,(表示一個元字符, \( 表示小括號字符(轉義)
            string strPattern = @"\(0\d{2,3}\)[-]?\d{7,8}|^0\d{2,3}[-]?\d{7,8}$";
            Console.WriteLine(Regex.IsMatch(strTest1, strPattern));
            Console.WriteLine(Regex.IsMatch(strTest2, strPattern));
            Console.WriteLine(Regex.IsMatch(strTest3, strPattern));
            Console.WriteLine(Regex.IsMatch(strTest4, strPattern));
            Console.WriteLine(Regex.IsMatch(strTest5, strPattern));
            Console.WriteLine(Regex.IsMatch(strTest6, strPattern));




        }


      
        static void Main(string[] args)
        {
            Program obj = new Program();
            //obj.Test1();
            //obj.Test2();
            obj.Test3();
            Console.ReadKey();
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章