C# 正則表達式編寫及驗證方法


01

 

 

前言

 

 


       正則表達式應用很廣泛,應該大多人都接觸過了,這個語法規則既多又凌亂,每次用的時候都得重新看一遍語法,真的是讓人頭疼啊!但是實際上我們並不要掌握很多的符號用法規則,牢記最常用的幾個就能應付很多場景.

下面我羅列出來我最常用的8個:

\d 匹配數字

^ 匹配行的開始

$ 匹配行的結尾

\ 對下一個字符轉義

* 匹配前面的表達式零次或多次

+ 匹配前面的表達式一次或多次

?匹配前面的表達式零次或一次

{n,m} m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。

 

02

正則表達式

 

① [0,1000]:  閉合區間0到1000,不包括小數

 

 regexString= @"^(0|1000|([1-9]\d{0,2}))$"

 

②[0,100]:閉區間,包括小數點后三位

 

 regexString = @"^((\d|[1-9]\d)(\.\d{1,3})?)|100$";//[0,100] 包括小數點后三位

 

03

驗證

 static void Main(string[] args)
        {
            string regexString;
            //regexString = @"^(0|1000|([1-9]\d{0,2}))$";
            regexString = @"^((\d|[1-9]\d)(\.\d{1,3})?)|100$";//[0,100] 包括小數點后三位
            for (double i = 0; i < 100; i = i + 0.001)
            {
                var str = Math.Round(i, 3).ToString();
                bool mathResult = Regex.IsMatch(str, regexString);
                if (!mathResult)
                {
                    Console.WriteLine(str);
                }
            }
            Console.WriteLine("Match Complete!");
            Console.ReadKey();
        }

  運行結果:

 

 如果運行錯誤,會輸出沒匹配上的數值,這個說明編寫的正則沒問題!

----------------------------------------------------

以上就是本節的全部內容,如果感覺有用,請多多的點擊在看和分享,需要進技術交流群的,請加小編微信zls20210502,切記備注 進群


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM