溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#正則表達式之Ismatch()怎么使用

發(fā)布時間:2023-05-05 11:40:53 來源:億速云 閱讀:112 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹“C#正則表達式之Ismatch()怎么使用”,在日常操作中,相信很多人在C#正則表達式之Ismatch()怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#正則表達式之Ismatch()怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

C#正則表達式之Ismatch()

1.IsMatch()方法

IsMatch()方法可以測試字符串,看它是否匹配正則表達式的模式。

如果發(fā)現(xiàn)一次匹配,該方法返回"true",否則返回"false"。

IsMatch()擁有一個靜態(tài)的重載方法,使用時無需顯示的創(chuàng)建一個Regex對象。

C#正則表達式之Ismatch()怎么使用

2.RegexOptions枚舉

C#正則表達式之Ismatch()怎么使用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace Regular
{
    class Program
    {
        static void Main(string[] args)
        {
            Regex mRegular = new Regex("a[bcd]c", RegexOptions.ExplicitCapture);
            //IsMatch擁有靜態(tài)和非靜態(tài)的幾種重載方法;
            //如果正則表達式只使用一次,使用靜態(tài)方法更好!
            string str = "abc acc";
            Console.WriteLine(mRegular.IsMatch(str));
            string str2 = "Welcome to verison-fios!";
            Console.WriteLine(Regex.IsMatch(str2,"Me T",RegexOptions.IgnoreCase));
            Console.ReadKey();
        }
    }
}

3.Spilt()方法

此方法在每次發(fā)現(xiàn)匹配的位置拆分字符串。該方法返回一個字符串數(shù)組。

該方法有靜態(tài)的重載方法,也有用于Regex實例的方法!

C#正則表達式之Ismatch()怎么使用

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

正則表達式應用很廣泛,應該大多人都接觸過了,這個語法規(guī)則既多又凌亂,每次用的時候都得重新看一遍語法,真的是讓人頭疼啊!

但是實際上我們并不要掌握很多的符號用法規(guī)則,牢記最常用的幾個就能應付很多場景.

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

  • \d 匹配數(shù)字

  • ^ 匹配行的開始

  • $ 匹配行的結尾

  • \ 對下一個字符轉義

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

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

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

  • {n,m} mn 均為非負整數(shù),其中n <= m。最少匹配 n 次且最多匹配 m 次。

正則表達式

① [0,1000]:  閉合區(qū)間0到1000,不包括小數(shù)

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

②[0,100]:閉區(qū)間,包括小數(shù)點后三位

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

驗證

 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] 包括小數(shù)點后三位
            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();
        }

運行結果:

C#正則表達式之Ismatch()怎么使用

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

到此,關于“C#正則表達式之Ismatch()怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI