c# 正則指引--字符組
字符組:在同一個(gè)位子可能出現(xiàn)的各種字符。
用正則表達(dá)式判斷數(shù)字字符:
re.Search("[0123456789]",charStr) != None
其中[0123456789]以字符串形式給出正則表達(dá)式,他是一個(gè)字符組,表示可以是0到9的任意一個(gè)字符。
Net中Regex.IsMatch(charStr,"[0123456789]");
在默認(rèn)情況下,Search(Pattern,String)只會(huì)判斷某個(gè)子串能否匹配pattern,只要pattern能匹配String中的一部分,也認(rèn)為是匹配成功,為了測(cè)整個(gè)String是否能匹配pattern,要在pattern兩端加上^和$.他們表示定位字符串的起始和結(jié)束位置,這樣就能保證,只有是整個(gè)String都可以由pattern匹配,才算成功。
像[0123456789]這個(gè)字符組,還可以使用范圍表示法:[0-9]
在字符組中:“-”表示范圍,一般根據(jù)字符對(duì)應(yīng)的一個(gè)碼值,碼值小的在“-”前面,大的在后面。
上面的例子中,“-”用來(lái)表示范圍,并不能匹配橫線字符,這一類(lèi)字符叫做元字符,像[、]、^、$都是元字符。
那么當(dāng)我們需要匹配這些特殊的元字符的時(shí)候,需要進(jìn)行轉(zhuǎn)義處理。
像“-”字符,如果是緊挨著“[”,會(huì)認(rèn)為是普通字符,其他的情況都是元字符,可以使用“\”,對(duì)元字符進(jìn)行轉(zhuǎn)義:
re.Search("^[0\\-9]$","3") != None //false
上面的“\”字符本身會(huì)聯(lián)合其他的例如“\n \r”等來(lái)使用,單獨(dú)使用也需要“\\”來(lái)進(jìn)行轉(zhuǎn)義。
使用原生字符串: re.Search(r"^[0\-9]$","3") != None ,在字符串前面加上r。就可以不用“\\”來(lái)表示"\"了。
排除型字符組:[^...]:表示當(dāng)前位置,匹配一個(gè)沒(méi)有列出的字符。
[^0-9]:表示匹配一個(gè)不是數(shù)字的字符
字符組簡(jiǎn)記法:
常見(jiàn)的有:
\d:[0-9]
\w:[0-9a-zA-Z] 這個(gè)還包括一個(gè)下劃線
\s:[ \t\r\n\v\f]
對(duì)應(yīng)的排除型字符組簡(jiǎn)記法:
\D :與\d互補(bǔ)
\W :與\w互補(bǔ)
\S :與\s互補(bǔ)
最簡(jiǎn)單的應(yīng)用:[\s\S]組合使用,匹配所有的字符。
相關(guān)文章
C#向PPT文檔插入圖片以及導(dǎo)出圖片的實(shí)例
PowerPoint演示文稿是我們?nèi)粘9ぷ髦谐S玫霓k公軟件之一,本篇文章介紹了C#向PPT文檔插入圖片以及導(dǎo)出圖片的實(shí)例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2016-12-12C#中WPF顏色對(duì)話框控件的實(shí)現(xiàn)
在 C# WPF開(kāi)發(fā)中顏色對(duì)話框控件(ColorDialog)用于對(duì)界面中的背景、文字…(擁有顏色屬性的所有控件)設(shè)置顏色,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03輕松學(xué)習(xí)C#的ArrayList類(lèi)
輕松學(xué)習(xí)C#的ArrayList類(lèi),對(duì)C#的ArrayList類(lèi)感興趣的朋友可以參考本篇文章,幫助大家更靈活的運(yùn)用C#的ArrayList類(lèi)2015-11-11C#實(shí)現(xiàn)統(tǒng)計(jì)100以內(nèi)所有素?cái)?shù)的個(gè)數(shù)
這篇文章介紹了C#實(shí)現(xiàn)統(tǒng)計(jì)100以內(nèi)所有素?cái)?shù)個(gè)數(shù)的方法,文中注釋非常詳細(xì),很適合新手學(xué)習(xí)。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11WinForm下 TextBox只允許輸入數(shù)字的小例子
WinForm下 TextBox只允許輸入數(shù)字的小例子,需要的朋友可以參考一下2013-04-04C#找不到類(lèi)型名"SqlConnection"的有效解決方法
最近在使用c#鏈接SqlServer的時(shí)候遇到了錯(cuò)誤,通過(guò)查找相關(guān)資料終于解決了,所以下面這篇文章主要給大家介紹了關(guān)于C#找不到類(lèi)型名"SqlConnection"的有效解決方法,需要的朋友可以參考下2023-02-02