C#正則表達式之Ismatch()的用法解讀
C#正則表達式之Ismatch()
1.IsMatch()方法
IsMatch()方法可以測試字符串,看它是否匹配正則表達式的模式。
如果發(fā)現(xiàn)一次匹配,該方法返回"true",否則返回"false"。
IsMatch()擁有一個靜態(tài)的重載方法,使用時無需顯示的創(chuàng)建一個Regex對象。
2.RegexOptions枚舉
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)匹配的位置拆分字符串。該方法返回一個字符串?dāng)?shù)組。
該方法有靜態(tài)的重載方法,也有用于Regex實例的方法!
C#正則表達式編寫及驗證方式
正則表達式應(yīng)用很廣泛,應(yīng)該大多人都接觸過了,這個語法規(guī)則既多又凌亂,每次用的時候都得重新看一遍語法,真的是讓人頭疼??!
但是實際上我們并不要掌握很多的符號用法規(guī)則,牢記最常用的幾個就能應(yīng)付很多場景.
下面我羅列出來我最常用的8個:
\d
匹配數(shù)字^
匹配行的開始$
匹配行的結(jié)尾\
對下一個字符轉(zhuǎn)義*
匹配前面的表達式零次或多次+
匹配前面的表達式一次或多次?
匹配前面的表達式零次或一次{n,m} m
和n
均為非負整數(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(); }
運行結(jié)果:
如果運行錯誤,會輸出沒匹配上的數(shù)值,這個說明編寫的正則沒問題!
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
c# WPF中自定義加載時實現(xiàn)帶動畫效果的Form和FormItem
這篇文章主要介紹了c# WPF中自定義加載時實現(xiàn)帶動畫效果的Form和FormItem,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03Unity的IPostprocessBuildWithReport實用案例深入解析
這篇文章主要為大家介紹了Unity的IPostprocessBuildWithReport實用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05