C#中正則表達(dá)式(Regex)過(guò)濾內(nèi)容的基本使用方法
先看英文意思
命名空間
using System.Text.RegularExpressions;
正則表達(dá)式是干什么用的?
簡(jiǎn)單來(lái)說(shuō)就是 檢索 數(shù)據(jù)
個(gè)人比較喜歡用來(lái)過(guò)濾一些文本的內(nèi)容和網(wǎng)頁(yè)
比如我有100w個(gè)文字想找到里面的幾個(gè)數(shù)字用人工一個(gè)一個(gè)查找基本不可能
但是使用正則表達(dá)式就可以在馬上找到
在編程里還是比較重要的
簡(jiǎn)單了解后開(kāi)始教程
比如有一個(gè)記事本內(nèi)容 要找出里面的5個(gè)數(shù)字 分別是 2 4 8 9 6
1.讀取文本內(nèi)容
上面說(shuō)的打開(kāi) 并不是把文件打開(kāi) 而是將文件打開(kāi)在 緩沖區(qū) 才可以進(jìn)行讀和寫(xiě)的操作 下面粗略畫(huà)了個(gè)圖更好理解
2.創(chuàng)建正則表達(dá)式
匹配規(guī)則是什么?
就是你需要的哪一些數(shù)據(jù)
比如我只需要數(shù)字 [\d]或者[0-9]
就是那么簡(jiǎn)單
下面是匹配規(guī)則(部分)
“ ^ ” 符號(hào)意思 :這個(gè)是一個(gè)排除的符號(hào)哦 如果不需要就在前面加一個(gè)這個(gè)符號(hào)即可 如 [^0-9] 不需要0-9的數(shù)字
大小寫(xiě)區(qū)別 :小寫(xiě)是需要 大寫(xiě) 是排除
- [\d] :只需要0-9的數(shù)字
- [\D] :不需要0-9的數(shù)字
- [^\d] :除了數(shù)字其他內(nèi)容都需要**
- [\w]:只需要英文字母a-z A-Z 0-9 漢字
- [\D]:不需要英文字母a-z A-Z 0-9 漢字
- [a-c]:只需要a-c的單詞 當(dāng)然也是可以a-l 等等
- [^a-c]:不需要a-c的單詞 當(dāng)然也是可以a-l 等等
- [a|b]:只需要a或b
因?yàn)槲抑恍枰玫嚼锩娴臄?shù)字所以直接使用 [\d]
3.輸出匹配好的內(nèi)容
溫馨提示:循環(huán)里如果不知道數(shù)據(jù)類(lèi)型 可以用var 代替哦
var:不知道數(shù)據(jù)類(lèi)型的情況下 使用 ,出的是string類(lèi)型 那他就是 string類(lèi)型 出來(lái)是int 就是int類(lèi)型 非常好用
運(yùn)行效果:
簡(jiǎn)單粗暴 只需要幾行代碼就把想要的內(nèi)容拿下來(lái)了
以后處理一些數(shù)據(jù)還是很好用的 當(dāng)然上面說(shuō)的都是基礎(chǔ)
補(bǔ)充:C#正則表達(dá)式篩選去掉不符合的字符
如下舉例篩選str字符串中非十六進(jìn)制字符,得到新的目標(biāo)字符串strRet;
string str = "abcdsefghias12321312";//需要篩選的目標(biāo)字符串 string pattern = "[A-Fa-f0-9]";//表示十六進(jìn)制字符 string strRet = ""; MatchCollection results = Regex.Matches(str, pattern); foreach (var v in results) { strRet += v.ToString(); }
總結(jié)
到此這篇關(guān)于C#中正則表達(dá)式(Regex)過(guò)濾內(nèi)容的基本使用的文章就介紹到這了,更多相關(guān)C#正則表達(dá)式Regex過(guò)濾內(nèi)容內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#創(chuàng)建縮略圖操作類(lèi)實(shí)例
這篇文章主要介紹了C#創(chuàng)建縮略圖操作類(lèi),實(shí)例分析了C#創(chuàng)建縮略圖的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04C#執(zhí)行表達(dá)式樹(shù)(Expression Tree)的具體使用
本文將深入探討表達(dá)式樹(shù)的基本概念、創(chuàng)建方法、修改和刪除節(jié)點(diǎn)、查詢(xún)和遍歷技巧以及在C#中的應(yīng)用示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03c#實(shí)現(xiàn)從字符串?dāng)?shù)組中把數(shù)字的元素找出來(lái)
下面小編就為大家分享一篇c#實(shí)現(xiàn)從字符串?dāng)?shù)組中把數(shù)字的元素找出來(lái)的方法,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12C# 使用multipart form-data方式post數(shù)據(jù)到服務(wù)器
這篇文章主要介紹了C# 使用multipart form-data方式post數(shù)據(jù)到服務(wù)器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08C#實(shí)現(xiàn)圖像選擇驗(yàn)證碼的示例代碼
為了防止網(wǎng)站被非法登陸,網(wǎng)站一般通過(guò)驗(yàn)證碼的方式,防止黑客用軟件非法登陸,本文主要介紹了C#實(shí)現(xiàn)圖像選擇驗(yàn)證碼的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08