C#正則表達(dá)式快速入門
2006/12/28 22:45:35
[介紹]
作者將自己在學(xué)習(xí)正則表達(dá)式中的心得和筆記作了個(gè)總結(jié)性文章,希望對(duì)初學(xué)C#正則表達(dá)式的讀者有幫助。
[內(nèi)容] 什么是正則表達(dá)式 涉及的基本的類 正則表達(dá)式基礎(chǔ)知識(shí) 構(gòu)建表達(dá)式基本方法 編寫一個(gè)檢驗(yàn)程序 參考資料
[正文]
對(duì)于初學(xué)者看到類似“\w+@\w+\.\w{1,3}”這樣復(fù)雜沒有規(guī)律的字符,就會(huì)莫名產(chǎn)生一種恐懼感。其實(shí)正則表達(dá)式和字符串(String)的使用同樣非常簡單。下面讓我們逐步地走進(jìn)正則表達(dá)式的世界!
什么是正則表達(dá)式
正則表達(dá)式是用來檢驗(yàn)和操作字符串的強(qiáng)大工具。簡單的理解正則表達(dá)式可以認(rèn)為是一種特殊的驗(yàn)證字符串。正則表達(dá)式常見運(yùn)用是驗(yàn)證用戶輸入信息格式,比如上面的那組“\w{1,}@\w{1,}\.\w{1”,實(shí)際上就是驗(yàn)證郵件地址是否合法的;當(dāng)然正則表達(dá)式不僅僅是用于驗(yàn)證,可以說只要運(yùn)用字符串的地方都可以使用正則表達(dá)式;
涉及的基本的類
正則表達(dá)式在英文中寫作(Regular Expression),根據(jù)正則表達(dá)式的使用范圍和單詞意思,.NET將其命名空間設(shè)置為System.Text.RegularExpressions;
在該命名空間內(nèi)包括了8個(gè)基本的類:Capture、CaptureCollection、Group、GroupCollection、Match、MatchCollection、Regex和RegexCompilationInfo如圖1所示;
圖1 MSDN Library中正則表達(dá)式命名空間
Capture 用于單個(gè)表達(dá)式捕獲結(jié)果 CaptureCollection 用于一個(gè)序列進(jìn)行字符串捕獲 Group 表示單個(gè)捕獲的結(jié)果 GroupCollection 表示捕獲組的集會(huì) Match 表示匹配單個(gè)正則表達(dá)式結(jié)果 MatchCollection 表示通過迭代方式應(yīng)用正則表達(dá)式到字符串中 Regex 表示不可變的正則表達(dá)式 RegexCompilationInfo 將編譯正則表達(dá)式需要提供信息
[注意]
本文屬于初學(xué)正則表達(dá)式的入門文章,對(duì)于高級(jí)的分組(Group)及其涉及語法等在這里不做介紹;
正則表達(dá)式基礎(chǔ)知識(shí)
基本語法
在正則表達(dá)式中擁有一套自己的語法規(guī)則,常見語法包括;字符匹配、重復(fù)匹配、字符定位、轉(zhuǎn)義匹配和其他高級(jí)語法(字符分組、字符替換和字符決策);
字符匹配語法:
字符語法 語法解釋 語法例子 \d 匹配數(shù)字(0~9) ‘\d’匹配8,不匹配12; \D 匹配非數(shù)字 ‘\D’匹配c,不匹配3; \w 匹配任意單字符 ‘\w\w’ 匹配A3,不匹配@3; \W 匹配非單字符 ‘\W’匹配@,不匹配c; \s 匹配空白字符 ‘\d\s\d’匹配3 d,不匹配abc; \S 匹配非空字符 ‘\S\S\S’匹配A#4,不匹配3 d; . 匹配任意字符 ‘....’匹配A$ 5,不匹配換行; […] 匹配括號(hào)中任意字符 [b-d]匹配b、c、d, 不匹配e; [^…] 匹配非括號(hào)字符 [^b-z]匹配a,不匹配b-z的字符;
重復(fù)匹配語法:
重復(fù)語法 語法解釋 語法例子 {n} 匹配n次字符 \d{3}匹配\d\d\d,不匹配\d\d或\d\d\d\d {n,} 匹配n次和n次以上 \w{2}匹配\w\w和\w\w\w以上,不匹配\w {n,m} 匹配n次上m次下 \s{1,3}匹配\s,\s\s,\s\s\s,不匹配\s\s\s\s ? 匹配0或1次 5?匹配5或0,不匹配非5和0 + 匹配一次或多次 \S+匹配一個(gè)以上\S,不匹配非一個(gè)以上\S * 匹配0次以上 \W*匹配0以上\W,不匹配非N*\W
字符定位語法:
重復(fù)語法 語法解釋 語法例子 ^ 定位后面模式開始位置 $ 前面模式位于字符串末端 \A 前面模式開始位置 \z 前面模式結(jié)束位置 \Z 前面模式結(jié)束位置(換行前) \b 匹配一個(gè)單詞邊界 \B 匹配一個(gè)非單詞邊界
轉(zhuǎn)義匹配語法:
轉(zhuǎn)義語法 涉及
下一頁
返回列表
返回首頁
主站蜘蛛池模板:
国产高清中文手机在线观看|
日韩美女中文字幕|
午夜一区二区在线观看|
麻豆精品一区二区三区免费|
国产精品爽黄69天堂a|
人人爽人人爽人人爽人人片av|
贰佰麻豆剧果冻传媒一二三区|
国产精一品亚洲二区在线播放|
99久久无码一区人妻|
岳的奶大又白又胖|
久久久久久亚洲av成人无码国产|
杨贵妃艳史毛片在线播放免费观看|
亚洲欧美日韩精品|
男人把女人桶爽30分钟应用|
又色又爽又黄的视频女女高清|
西西人体444rt高清大胆|
国产手机在线视频|
天堂资源中文在线|
国产麻传媒精品国产AV|
chinese国产xxxx实拍|
恋老小说我和老市长|
久99久精品免费视频热77|
日韩午夜视频在线观看|
亚洲av乱码一区二区三区|
欧美日韩一区二区三区四区在线观看
|
国产欧美精品区一区二区三区
|
成人αv在线视频高清|
久久久久人妻一区二区三区vr|
最新视频-88av|
亚洲一区二区三区免费在线观看|
欧美线在线精品观看视频|
人人狠狠综合久久亚洲|
精品一区二区三区AV天堂|
厨房掀起馊子裙子挺进去视频|
色综合合久久天天给综看|
国产午夜精品久久久久免费视|
国产福利免费视频|
国产真实乱对白精彩久久|
2019中文字幕在线|
国产精品视频一区二区三区不卡|
99re免费99re在线视频手机版|