C#中正則表達(dá)式(Regex)過濾內(nèi)容的基本使用方法
先看英文意思
命名空間
using System.Text.RegularExpressions;
正則表達(dá)式是干什么用的?
簡單來說就是 檢索 數(shù)據(jù)
個人比較喜歡用來過濾一些文本的內(nèi)容和網(wǎng)頁
比如我有100w個文字想找到里面的幾個數(shù)字用人工一個一個查找基本不可能
但是使用正則表達(dá)式就可以在馬上找到
在編程里還是比較重要的
簡單了解后開始教程
比如有一個記事本內(nèi)容 要找出里面的5個數(shù)字 分別是 2 4 8 9 6
1.讀取文本內(nèi)容
上面說的打開 并不是把文件打開 而是將文件打開在 緩沖區(qū) 才可以進(jìn)行讀和寫的操作 下面粗略畫了個圖更好理解
2.創(chuàng)建正則表達(dá)式
匹配規(guī)則是什么?
就是你需要的哪一些數(shù)據(jù)
比如我只需要數(shù)字 [\d]或者[0-9]
就是那么簡單
下面是匹配規(guī)則(部分)
“ ^ ” 符號意思 :這個是一個排除的符號哦 如果不需要就在前面加一個這個符號即可 如 [^0-9] 不需要0-9的數(shù)字
大小寫區(qū)別 :小寫是需要 大寫 是排除
- [\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
因為我只需要拿到里面的數(shù)字所以直接使用 [\d]
3.輸出匹配好的內(nèi)容
溫馨提示:循環(huán)里如果不知道數(shù)據(jù)類型 可以用var 代替哦
var:不知道數(shù)據(jù)類型的情況下 使用 ,出的是string類型 那他就是 string類型 出來是int 就是int類型 非常好用
運(yùn)行效果:
簡單粗暴 只需要幾行代碼就把想要的內(nèi)容拿下來了
以后處理一些數(shù)據(jù)還是很好用的 當(dāng)然上面說的都是基礎(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)過濾內(nèi)容的基本使用的文章就介紹到這了,更多相關(guān)C#正則表達(dá)式Regex過濾內(nèi)容內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#執(zhí)行表達(dá)式樹(Expression Tree)的具體使用
本文將深入探討表達(dá)式樹的基本概念、創(chuàng)建方法、修改和刪除節(jié)點、查詢和遍歷技巧以及在C#中的應(yīng)用示例,具有一定的參考價值,感興趣的可以了解一下2024-03-03c#實現(xiàn)從字符串?dāng)?shù)組中把數(shù)字的元素找出來
下面小編就為大家分享一篇c#實現(xiàn)從字符串?dāng)?shù)組中把數(shù)字的元素找出來的方法,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12C# 使用multipart form-data方式post數(shù)據(jù)到服務(wù)器
這篇文章主要介紹了C# 使用multipart form-data方式post數(shù)據(jù)到服務(wù)器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08