c# 正則指引--字符組
字符組:在同一個位子可能出現(xiàn)的各種字符。
用正則表達式判斷數(shù)字字符:
re.Search("[0123456789]",charStr) != None
其中[0123456789]以字符串形式給出正則表達式,他是一個字符組,表示可以是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)我們需要匹配這些特殊的元字符的時候,需要進行轉(zhuǎn)義處理。
像“-”字符,如果是緊挨著“[”,會認(rèn)為是普通字符,其他的情況都是元字符,可以使用“\”,對元字符進行轉(zhuǎn)義:
re.Search("^[0\\-9]$","3") != None //false
上面的“\”字符本身會聯(lián)合其他的例如“\n \r”等來使用,單獨使用也需要“\\”來進行轉(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)文章
C#實現(xiàn)統(tǒng)計100以內(nèi)所有素數(shù)的個數(shù)
這篇文章介紹了C#實現(xiàn)統(tǒng)計100以內(nèi)所有素數(shù)個數(shù)的方法,文中注釋非常詳細,很適合新手學(xué)習(xí)。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11WinForm下 TextBox只允許輸入數(shù)字的小例子
WinForm下 TextBox只允許輸入數(shù)字的小例子,需要的朋友可以參考一下2013-04-04C#找不到類型名"SqlConnection"的有效解決方法
最近在使用c#鏈接SqlServer的時候遇到了錯誤,通過查找相關(guān)資料終于解決了,所以下面這篇文章主要給大家介紹了關(guān)于C#找不到類型名"SqlConnection"的有效解決方法,需要的朋友可以參考下2023-02-02