freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

c下利用正則表達式實現(xiàn)字符串搜索功能的方法-資料下載頁

2025-01-08 08:08本頁面
  

【正文】 行為。此選項僅可與 IgnoreCase 和 Multiline 標志一起使用。將 ECMAScript 同任何其他標志一起使用將導致異常。 例如, Find_po在字開頭處查找以 po開頭的字符串: static void Find_po() { string text = @ I can not find my position in Beijing 。 string pattern = @\bpo\S*ion\b。 MatchCollection matches = (text, pattern, )。 WriteMatches(text, matches)。 } 這段代碼還使用了名稱空間 RegularExpressions: using System。 using 。 匹配、組和捕獲 一般表達式的一個很好的特性是可以把字符組合起來,方式與 C中的復合語句一 樣。在 C中,可以通過把任意數(shù)量的語句放在花括號中的方式把它們組合在一起。其結果就像一個復合語句那樣。在一般表達式模式中,也可以把任何字符組合起來(包括元字符和轉義序列),像處理一個字符那樣處理它們。唯一的區(qū)別是要使用圓括號,而不是花括號,得到的序列成為一個組。 例如,模式 (an)+定位序列 an 的任以重復。量詞 +只應用于它前面的一個字符,但因為我們把字符組合起來了,所以它現(xiàn)在把重復的 an 作為一個單元來對待。 (an).應用到輸入文本 bananas came to Europe late in the annals of history上,會從 bananas 中選擇出anan。另一方面,如果使用 an+,則將從 annals中選擇 ann,從 bananas中選擇出兩個 an。為什么 (an)+選擇的是 anan,而沒有把單個的 an作為一個匹配。匹配規(guī)則是不能重復的,如果有可能重復,在默認情況下就選擇較長的匹配。 但是,組的功能要比這強大得多。在默認情況下,把模式的一部分組合為一個組時,就要求一般表達式引擎記住可以按照這個組來匹配,也可以按照整個模式來匹配。換言之,可以把組當作一個要匹配的模式,如果要把 字符串分解為各個部分,這種模式就是非常有效的。 例如, URI 的 格 式 是 :// : ,其中端口是可選的。它的一個樣例是 URI 中提取協(xié)議、地址和端口,而且緊鄰URI 的 后 面 可 能 有 空 白 ( 但 沒 有 標 點 符 號 ), 就 可 以 使 用 下 面 的 表 達 式 :\b(\S+)://(\S+)(?::(\S+))?\b 該表達式的工作方式如下:首先,前導和尾部的 \b序列確保只需要考慮完全是字的文本部分,在這個文本部分中,第一組 (\S+)://會選擇一個或多 個不適空白的字符,其后是 ://。在 HTTPURI 的開頭會選擇出 存儲為一個組。后面的 (\S+)則在上述 URI 中選擇 . ,這個組在遇到詞的結尾時或標記另一個組的冒號(:)時結束。 下一個組選擇端口(本例是 :8080)。后面的?表示這個組在匹配中是可選的,如果沒有 :xxxx,也不會妨礙匹配的標記。 這是非常重要的,因為端口在 URI 中一般不指定,實際上,在大多數(shù)情況下, URI 是沒有端口號的。但是,事情會比較復雜。如果要求冒號 可以出現(xiàn),也可以不出現(xiàn),但不希望把這個冒號也存儲在組中。為此,可以嵌套兩個組:內部的 (\S+)組選擇冒號后面的內容(本例中是 8080),外面的組包含內部的組,后面是一個冒號,該冒號又在序列 ?:的后面。這個序列表示該組不應保存(只需要保存 8080,不需要保存 :8080)。不要把這兩個冒號混淆了,第一個冒號是序列 ?:的一部分,表示不保存這個組,第二個冒號是要搜索的文本。 在這個字符串上運行該模式: I always visit 得到的匹 配是 。在這個匹配中,僅提到了三個組,還有第四個組表示匹配本身。理論上,每個組都可以選擇 0 次、 1 次或者多次匹配。單個的匹配就稱為捕獲。在第一個組(\S+),有一個捕獲 。第二個組也有一個捕獲 . ,但第三個組沒有捕獲,因為在這個 URI 中沒有端口號。注意該字符串在其本身上包含第二個 它匹配于第一個組,但不會被搜索出來,因為整個搜索表達式不匹配于這部分文本。 再比如下面這個例子,以下代碼示例使用 來從 URL提取協(xié)議和端口號。例如, :8080。 String Extension(String url) { Regex r = new Regex(@^(? \w+)://[^/]+?(? :\d+)?/, )。 return (url).Result(${proto}${port})。 } 小結 .NET 框架正則表達式類是基類庫的一部分,并且可以和面向公共語言運行庫的任何語言或工具(包括 Visual Studio .NET)一起使用。本文給出了在 C下利用正則表達式實現(xiàn)字符串搜索功能的方法,通過對 .NET框架下的正則表達式的研究及實例分析,總結了正則表達式的規(guī)則、選項等,方便以后朋友們的應用。
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1