C#正則表達(dá)式之Ismatch()的用法解讀
C#正則表達(dá)式之Ismatch()
1.IsMatch()方法
IsMatch()方法可以測(cè)試字符串,看它是否匹配正則表達(dá)式的模式。
如果發(fā)現(xiàn)一次匹配,該方法返回"true",否則返回"false"。
IsMatch()擁有一個(gè)靜態(tài)的重載方法,使用時(shí)無(wú)需顯示的創(chuàng)建一個(gè)Regex對(duì)象。

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)該大多人都接觸過(guò)了,這個(gè)語(yǔ)法規(guī)則既多又凌亂,每次用的時(shí)候都得重新看一遍語(yǔ)法,真的是讓人頭疼啊!
但是實(shí)際上我們并不要掌握很多的符號(hào)用法規(guī)則,牢記最常用的幾個(gè)就能應(yīng)付很多場(chǎng)景.
下面我羅列出來(lái)我最常用的8個(gè):
\d匹配數(shù)字^匹配行的開(kāi)始$匹配行的結(jié)尾\對(duì)下一個(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ò)誤,會(huì)輸出沒(méi)匹配上的數(shù)值,這個(gè)說(shuō)明編寫的正則沒(méi)問(wèn)題!
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
c# 開(kāi)機(jī)啟動(dòng)項(xiàng)的小例子
c# 開(kāi)機(jī)啟動(dòng)項(xiàng)的小例子,需要的朋友可以參考一下2013-03-03
C#中使用async和await實(shí)現(xiàn)異步Udp通訊的示例代碼
本文主要介紹了C#中使用async和await實(shí)現(xiàn)異步Udp通訊的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
淺談C# AOP的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要介紹了淺談C# AOP的簡(jiǎn)單實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
C#使用iTextSharp設(shè)置PDF所有頁(yè)面背景圖功能實(shí)例
這篇文章主要介紹了C#使用iTextSharp設(shè)置PDF所有頁(yè)面背景圖功能,實(shí)例分析了C#使用iTextSharp設(shè)置PDF頁(yè)面背景圖的實(shí)現(xiàn)方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
C#使用SQL DataReader訪問(wèn)數(shù)據(jù)的優(yōu)點(diǎn)和實(shí)例
今天小編就為大家分享一篇關(guān)于C#使用SQL DataReader訪問(wèn)數(shù)據(jù)的優(yōu)點(diǎn)和實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10

