C# 正則表達(dá)式語(yǔ)法_第1頁(yè)
C# 正則表達(dá)式語(yǔ)法_第2頁(yè)
C# 正則表達(dá)式語(yǔ)法_第3頁(yè)
C# 正則表達(dá)式語(yǔ)法_第4頁(yè)
C# 正則表達(dá)式語(yǔ)法_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

正則表達(dá)式語(yǔ)法VisualStudio2010其他版本5(共7)對(duì)本文的評(píng)價(jià)是有幫助-\o"評(píng)價(jià)此主題"評(píng)價(jià)此主題“正則表達(dá)式”描述在搜索文本正文時(shí)要匹配的一個(gè)或多個(gè)字符串。該表達(dá)式可用作一個(gè)將字符模式與要搜索的字符串相匹配的模板。正則表達(dá)式包括普通字符(例如,a到z之間的字母)和特殊字符(稱(chēng)為“元字符”)。\o"折疊"特殊字符下表包含了單字符元字符的列表以及它們?cè)谡齽t表達(dá)式中的行為。注意若要匹配這些特殊字符之一,必須首先轉(zhuǎn)義字符,即,在字符前面加反斜杠字符(\)。例如,若要搜索“+”文本字符,可使用表達(dá)式“\+”。元字符行為示例*零次或多次匹配前面的字符或子表達(dá)式。等效于{0,}。zo*與“z”和“zoo”匹配。+一次或多次匹配前面的字符或子表達(dá)式。等效于{1,}。zo+與“zo”和“zoo”匹配,但與“z”不匹配。?零次或一次匹配前面的字符或子表達(dá)式。等效于{0,1}。當(dāng)?緊隨任何其他限定符(*、+、?、{n}、{n,}或{n,m})之后時(shí),匹配模式是非貪婪的。非貪婪模式匹配搜索到的、盡可能少的字符串,而默認(rèn)的貪婪模式匹配搜索到的、盡可能多的字符串。zo?與“z”和“zo”匹配,但與“zoo”不匹配。o+?只與“oooo”中的單個(gè)“o”匹配,而o+與所有“o”匹配。do(es)?與“do”或“does”中的“do”匹配。^匹配搜索字符串開(kāi)始的位置。如果標(biāo)志中包括m(多行搜索)字符,^還將匹配\n或\r后面的位置。如果將^用作括號(hào)表達(dá)式中的第一個(gè)字符,則會(huì)對(duì)字符集求反。^\d{3}與搜索字符串開(kāi)始處的3個(gè)數(shù)字匹配。[^abc]與除a、b和c以外的任何字符匹配。$匹配搜索字符串結(jié)尾的位置。如果標(biāo)志中包括m(多行搜索)字符,^還將匹配\n或\r前面的位置。\d{3}$與搜索字符串結(jié)尾處的3個(gè)數(shù)字匹配。.匹配除換行符\n之外的任何單個(gè)字符。若要匹配包括\n在內(nèi)的任意字符,請(qǐng)使用諸如[\s\S]之類(lèi)的模式。a.c與“abc”、“a1c”和“a-c”匹配。[]標(biāo)記括號(hào)表達(dá)式的開(kāi)始和結(jié)尾。[1-4]與“1”、“2”、“3”或“4”匹配。[^aAeEiIoOuU]與任何非元音字符匹配。{}標(biāo)記限定符表達(dá)式的開(kāi)始和結(jié)尾。a{2,3}與“aa”和“aaa”匹配。()標(biāo)記子表達(dá)式的開(kāi)始和結(jié)尾??梢员4孀颖磉_(dá)式以備將來(lái)之用。A(\d)與“A0”至“A9”匹配。保存該數(shù)字以備將來(lái)之用。|指示在兩個(gè)或多個(gè)項(xiàng)之間進(jìn)行選擇。z|food與“z”或“food”匹配。(z|f)ood與“zood”或“food”匹配。/表示JScript中的文本正則表達(dá)式模式的開(kāi)始或結(jié)尾。在第二個(gè)“/”后添加單字符標(biāo)志可以指定搜索行為。/abc/gi是與“abc”匹配的JScript文本正則表達(dá)式。g(全局)標(biāo)志指定查找模式的所有匹配項(xiàng),i(忽略大小寫(xiě))標(biāo)志使搜索不區(qū)分大小寫(xiě)。\將下一字符標(biāo)記為特殊字符、文本、反向引用或八進(jìn)制轉(zhuǎn)義符。\n與換行符匹配。\(與“(”匹配。\\與“\”匹配。大多數(shù)特殊字符在括號(hào)表達(dá)式內(nèi)出現(xiàn)時(shí)失去它們的意義,并表示普通字符。有關(guān)更多信息,請(qǐng)參見(jiàn)匹配字符的列表中的“括號(hào)表達(dá)式中的字符”。\o"折疊"元字符下表包含了多字符元字符的列表以及它們?cè)谡齽t表達(dá)式中的行為。元字符行為示例\b與一個(gè)字邊界匹配;即字與空格間的位置。er\b與“never”中的“er”匹配,但與“verb”中的“er”不匹配。\B非邊界字匹配。er\B與“verb”中的“er”匹配,但與“never”中的“er”不匹配。\d數(shù)字字符匹配。等效于[0-9]。在搜索字符串“12345”中,\d{2}與“12”和“34”匹配。\d與“1”、“2”、“3”、“4”和“5”匹配。\D非數(shù)字字符匹配。等效于[^0-9]。\D+與“abc123def”中的“abc”和“def”匹配。\w與以下任意字符匹配:A-Z、a-z、0-9和下劃線(xiàn)。等效于[A-Za-z0-9_]。在搜索字符串“Thequickbrownfox…”中,\w+與“The”、“quick”、“brown”和“fox”匹配。\W與除A-Z、a-z、0-9和下劃線(xiàn)以外的任意字符匹配。等效于[^A-Za-z0-9_]。在搜索字符串“Thequickbrownfox…”中,\W+與“…”和所有空格匹配。[xyz]字符集。與任何一個(gè)指定字符匹配。[abc]與“plain”中的“a”匹配。[^xyz]反向字符集。與未指定的任何字符匹配。[^abc]與“plain”中的“p”、“l(fā)”、“i”和“n”匹配。[a-z]字符范圍。匹配指定范圍內(nèi)的任何字符。[a-z]與“a”到“z”范圍內(nèi)的任何小寫(xiě)字母字符匹配。[^a-z]反向字符范圍。與不在指定范圍內(nèi)的任何字符匹配。[^a-z]與不在范圍“a”到“z”內(nèi)的任何字符匹配。{n}正好匹配n次。n是非負(fù)整數(shù)。o{2}與“Bob”中的“o”不匹配,但與“food”中的兩個(gè)“o”匹配。{n,}至少匹配n次。n是非負(fù)整數(shù)。*與{0,}相等。+與{1,}相等。o{2,}與“Bob”中的“o”不匹配,但與“foooood”中的所有“o”匹配。{n,m}匹配至少n次,至多m次。n和m是非負(fù)整數(shù),其中n<=m。逗號(hào)和數(shù)字之間不能有空格。?與{0,1}相等。在搜索字符串“1234567”中,\d{1,3}與“123”、“456”和“7”匹配。(模式)與模式匹配并保存匹配項(xiàng)。您可以從由JScript中的execMethod返回的數(shù)組元素中檢索保存的匹配項(xiàng)。若要匹配括號(hào)字符(),請(qǐng)使用“\(”或者“\)”。(Chapter|Section)[1-9]與“Chapter5”匹配,保存“Chapter”以備將來(lái)之用。(?:模式)與模式匹配,但不保存匹配項(xiàng);即不會(huì)存儲(chǔ)匹配項(xiàng)以備將來(lái)之用。這對(duì)于用“or”字符(|)組合模式部件的情況很有用。industr(?:y|ies)與industry|industries相等。(?=模式)正預(yù)測(cè)先行。找到一個(gè)匹配項(xiàng)后,將在匹配文本之前開(kāi)始搜索下一個(gè)匹配項(xiàng)。不會(huì)保存匹配項(xiàng)以備將來(lái)之用。^(?=.*\d).{4,8}$對(duì)密碼應(yīng)用以下限制:其長(zhǎng)度必須介于4到8個(gè)字符之間,并且必須至少包含一個(gè)數(shù)字。在該模式中,.*\d查找后跟有數(shù)字的任意多個(gè)字符。對(duì)于搜索字符串“abc3qr”,這與“abc3”匹配。從該匹配項(xiàng)之前(而不是之后)開(kāi)始,.{4,8}與包含4-8個(gè)字符的字符串匹配。這與“abc3qr”匹配。^和$指定搜索字符串的開(kāi)始和結(jié)束位置。這將在搜索字符串包含匹配字符之外的任何字符時(shí)阻止匹配。(?!模式)負(fù)預(yù)測(cè)先行。匹配與模式不匹配的搜索字符串。找到一個(gè)匹配項(xiàng)后,將在匹配文本之前開(kāi)始搜索下一個(gè)匹配項(xiàng)。不會(huì)保存匹配項(xiàng)以備將來(lái)之用。\b(?!th)\w+\b與不以“th”開(kāi)頭的單詞匹配。在該模式中,\b與一個(gè)字邊界匹配。對(duì)于搜索字符串“quick”,這與第一個(gè)空格匹配。(?!th)與非“th”字符串匹配。這與“qu”匹配。從該匹配項(xiàng)開(kāi)始,\w+與一個(gè)字匹配。這與“quick”匹配。\cx匹配x指示的控制字符。x的值必須在A-Z或a-z范圍內(nèi)。如果不是這樣,則假定c就是文本“c”字符本身。\cM與Ctrl+M或一個(gè)回車(chē)符匹配。\xn匹配n,此處的n是一個(gè)十六進(jìn)制轉(zhuǎn)義碼。十六進(jìn)制轉(zhuǎn)義碼必須正好是兩位數(shù)長(zhǎng)。允許在正則表達(dá)式中使用ASCII代碼。\x41與“A”匹配。\x041等效于后跟有“1”的“\x04”(因?yàn)閚必須正好是兩位數(shù))。\num匹配num,此處的num是一個(gè)正整數(shù)。這是對(duì)已保存的匹配項(xiàng)的引用。(.)\1與兩個(gè)連續(xù)的相同字符匹配。\n標(biāo)識(shí)一個(gè)八進(jìn)制轉(zhuǎn)義碼或反向引用。如果\n前面至少有n個(gè)捕獲子表達(dá)式,那么n是反向引用。否則,如果n是八進(jìn)制數(shù)(0-7),那么n是八進(jìn)制轉(zhuǎn)義碼。(\d)\1與兩個(gè)連續(xù)的相同數(shù)字匹配。\nm標(biāo)識(shí)一個(gè)八進(jìn)制轉(zhuǎn)義碼或反向引用。如果\nm前面至少有nm個(gè)捕獲子表達(dá)式,那么nm是反向引用。如果\nm前面至少有n個(gè)捕獲子表達(dá)式,則n是反向引用,后面跟有文本m。如果上述情況都不存在,當(dāng)n和m是八進(jìn)制數(shù)字(0-7)時(shí),\nm匹配八進(jìn)制轉(zhuǎn)義碼nm。\11與制表符匹配。\nml當(dāng)n是八進(jìn)制數(shù)字(0-3),m和l是八進(jìn)制數(shù)字(0-7)時(shí),匹配八進(jìn)制轉(zhuǎn)義碼nml。\011與制表符匹配。\un匹配n,其中n是以四位十六進(jìn)制數(shù)表示的Unicode字符。\u00A9與版權(quán)符號(hào)(?)匹配。\o"折疊"非打印字符下表包含表示非打印字符的轉(zhuǎn)義序列。字符匹配等效于\f換頁(yè)符。\x0c和\cL\n換行符。\x0a和\cJ\r回車(chē)符。\x0d和\cM\s任何空白字符。其中包括空格、制表符和換頁(yè)符。[\f\n\r\t\v]\S任何非空白字符。[^\f\n\r\t\v]\tTab字符。\x09和\cI\v垂直制表符。\x0b和\c

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論