c# 正則指引--字符組
字符組:在同一個位子可能出現(xiàn)的各種字符。
用正則表達(dá)式判斷數(shù)字字符:
re.Search("[0123456789]",charStr) != None
其中[0123456789]以字符串形式給出正則表達(dá)式,他是一個字符組,表示可以是0到9的任意一個字符。
Net中Regex.IsMatch(charStr,"[0123456789]");
在默認(rèn)情況下,Search(Pattern,String)只會判斷某個子串能否匹配pattern,只要pattern能匹配String中的一部分,也認(rèn)為是匹配成功,為了測整個String是否能匹配pattern,要在pattern兩端加上^和$.他們表示定位字符串的起始和結(jié)束位置,這樣就能保證,只有是整個String都可以由pattern匹配,才算成功。
像[0123456789]這個字符組,還可以使用范圍表示法:[0-9]
在字符組中:“-”表示范圍,一般根據(jù)字符對應(yīng)的一個碼值,碼值小的在“-”前面,大的在后面。
上面的例子中,“-”用來表示范圍,并不能匹配橫線字符,這一類字符叫做元字符,像[、]、^、$都是元字符。
那么當(dāng)我們需要匹配這些特殊的元字符的時候,需要進(jìn)行轉(zhuǎn)義處理。
像“-”字符,如果是緊挨著“[”,會認(rèn)為是普通字符,其他的情況都是元字符,可以使用“\”,對元字符進(jìn)行轉(zhuǎn)義:
re.Search("^[0\\-9]$","3") != None //false
上面的“\”字符本身會聯(lián)合其他的例如“\n \r”等來使用,單獨使用也需要“\\”來進(jìn)行轉(zhuǎn)義。
使用原生字符串: re.Search(r"^[0\-9]$","3") != None ,在字符串前面加上r。就可以不用“\\”來表示"\"了。
排除型字符組:[^...]:表示當(dāng)前位置,匹配一個沒有列出的字符。
[^0-9]:表示匹配一個不是數(shù)字的字符
字符組簡記法:
常見的有:
\d:[0-9]
\w:[0-9a-zA-Z] 這個還包括一個下劃線
\s:[ \t\r\n\v\f]
對應(yīng)的排除型字符組簡記法:
\D :與\d互補
\W :與\w互補
\S :與\s互補
最簡單的應(yīng)用:[\s\S]組合使用,匹配所有的字符。
相關(guān)文章
VS2019 找不到資產(chǎn)文件 “xxxx\obj\project.assets.json”運行NuGet包還原以生成此文
這篇文章主要介紹了VS2019 找不到資產(chǎn)文件 “xxxx\obj\project.assets.json”運行NuGet包還原以生成此文件,本文給大家分享解決方案,感興趣的朋友跟隨小編一起學(xué)習(xí)吧2020-08-08
C#使用foreach遍歷哈希表(hashtable)的方法
這篇文章主要介紹了C#使用foreach遍歷哈希表(hashtable)的方法,是C#中foreach語句遍歷散列表的典型應(yīng)用,非常具有實用價值,需要的朋友可以參考下2015-04-04
使用C#實現(xiàn)RTP數(shù)據(jù)包傳輸 參照RFC3550
本篇文章小編為大家介紹,使用C#實現(xiàn)RTP數(shù)據(jù)包傳輸 參照RFC3550,需要的朋友參考下2013-04-04
C#實現(xiàn)設(shè)置Excel表格中文本對齊方式和格式
這篇文章主要為大家詳細(xì)介紹了如何在.NET 程序中通過C# 設(shè)置Excel單元格中文本的對齊方式,方向以及換行,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-04-04
C#實現(xiàn)對字符串中特定詞出現(xiàn)次數(shù)的計數(shù)過程
LINQ(Language-Integrated Query)是C#和VB.NET中強(qiáng)大的查詢語言,它可以用來查詢集合、SQL數(shù)據(jù)庫、XML文檔等,在C#中,我們可以使用LINQ來簡化對字符串中特定單詞出現(xiàn)次數(shù)的計數(shù)過程,需要的朋友可以參考下2024-08-08

