C#正則表達(dá)式之Ismatch()的用法解讀
C#正則表達(dá)式之Ismatch()
1.IsMatch()方法
IsMatch()方法可以測試字符串,看它是否匹配正則表達(dá)式的模式。
如果發(fā)現(xiàn)一次匹配,該方法返回"true",否則返回"false"。
IsMatch()擁有一個(gè)靜態(tài)的重載方法,使用時(shí)無需顯示的創(chuàng)建一個(gè)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)的幾種重載方法;
//如果正則表達(dá)式只使用一次,使用靜態(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)匹配的位置拆分字符串。該方法返回一個(gè)字符串?dāng)?shù)組。
該方法有靜態(tài)的重載方法,也有用于Regex實(shí)例的方法!

C#正則表達(dá)式編寫及驗(yàn)證方式
正則表達(dá)式應(yīng)用很廣泛,應(yīng)該大多人都接觸過了,這個(gè)語法規(guī)則既多又凌亂,每次用的時(shí)候都得重新看一遍語法,真的是讓人頭疼??!
但是實(shí)際上我們并不要掌握很多的符號用法規(guī)則,牢記最常用的幾個(gè)就能應(yīng)付很多場景.
下面我羅列出來我最常用的8個(gè):
\d匹配數(shù)字^匹配行的開始$匹配行的結(jié)尾\對下一個(gè)字符轉(zhuǎn)義*匹配前面的表達(dá)式零次或多次+匹配前面的表達(dá)式一次或多次?匹配前面的表達(dá)式零次或一次{n,m} m和n均為非負(fù)整數(shù),其中n <= m。最少匹配 n 次且最多匹配 m 次。
正則表達(dá)式
① [0,1000]: 閉合區(qū)間0到1000,不包括小數(shù)
regexString=?@"^(0|1000|([1-9]\d{0,2}))$"②[0,100]:閉區(qū)間,包括小數(shù)點(diǎn)后三位
regexString = @"^((\d|[1-9]\d)(\.\d{1,3})?)|100$";//[0,100] 包括小數(shù)點(diǎn)后三位驗(yàn)證
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ù)點(diǎn)后三位
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();
}運(yùn)行結(jié)果:

如果運(yùn)行錯(cuò)誤,會輸出沒匹配上的數(shù)值,這個(gè)說明編寫的正則沒問題!
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#中使用async和await實(shí)現(xiàn)異步Udp通訊的示例代碼
本文主要介紹了C#中使用async和await實(shí)現(xiàn)異步Udp通訊的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
C#使用iTextSharp設(shè)置PDF所有頁面背景圖功能實(shí)例
這篇文章主要介紹了C#使用iTextSharp設(shè)置PDF所有頁面背景圖功能,實(shí)例分析了C#使用iTextSharp設(shè)置PDF頁面背景圖的實(shí)現(xiàn)方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
C#使用SQL DataReader訪問數(shù)據(jù)的優(yōu)點(diǎn)和實(shí)例
今天小編就為大家分享一篇關(guān)于C#使用SQL DataReader訪問數(shù)據(jù)的優(yōu)點(diǎn)和實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10

