乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Ultrapico Expresso工具學習正則表達式

       昵稱9283147 2016-05-20

      引用:Ultrapico Expresso是一個非常強大的正則表達式構(gòu)建、測試以及代碼生成工具。它能夠?qū)δ銟?gòu)建的正則表達式進行解析、驗證,并輸出解析結(jié)果,提供性能測試工具,支持C#、VB等代碼生成,最重要的是,他提供了一個非常方便強大的正則表達式語法構(gòu)建面板,即使你對正則表達式生疏了,也能在它的幫助下構(gòu)建出你想要的正則模式來。而且,它還免費獲取授權(quán)碼,無需費心找破解了。軟件里自帶的幫助文檔以及正則表達式庫可以幫助你快速從正則菜鳥升級為正則高手。


      最新版本的Ultrapico Expresso提供下面這些強大的功能:

      • 通過選擇預編寫代碼片段來創(chuàng)建正則表達式
      • 可以通過手動輸入或者從文件中導入兩種方式來測試文本
      • 在樹形結(jié)構(gòu)中顯示匹配,顯示捕獲組以及組內(nèi)所有捕獲
      • 加亮源文件中的匹配文本
      • 自動查找正則表達式的語法錯誤
      • 生成VB,C#或C++代碼
      • 提供常用正則表達式庫
      • 優(yōu)化正則表達式
      • 更多...


      首先看Expresso的操作界面:


      可以看到打開軟件時首先是Test Mode, 用戶可以在這里進行正則表達式的驗證,并且提供了Regex Analyzer的功能,用戶可以很方便的查看自己書寫的正則式的一些細節(jié)。除了Test Mode, 還有更為強大的Design Mode與Expression Library(個人覺得從那個Expression Library里能學到很多知識),具體的使用方法大家自己體會。 你會發(fā)現(xiàn),通過這個工具,學習正則表達式的曲線會平滑一些的。

      更多的學習心得待到認真學好RE與這個工具后再分享。--->To be Continued.

       

      一、.Net中的正則表達式(MSDN)

      不同語言、框架中的正則表達式的語法規(guī)則有所不同,這里只要討論的是.net平臺下正則表達式的相關(guān)。.net中使用正則表達式處理文本的中心構(gòu)件是正則表達式引擎,該引擎在 .NET Framework 中由 System.Text.RegularExpressions.Regex 對象表示。 使用正則表達式處理文本至少要求向該正則表達式引擎提供以下兩方面的信息:

      • 要在文本中標識的正則表達式模式(Pattern),在 .NET Framework 中,正則表達式模式用特殊的語法或語言定義,該語法或語言與 Perl 5 正則表達式兼容,并添加了一些其他功能,例如從右到左匹配。。
      • 要為正則表達式模式分析的文本。

       

      Regex 類的方法使您可以執(zhí)行以下操作:

      • 通過調(diào)用 IsMatch 方法確定輸入文本中是否具有正則表達式模式匹配項。
      • 通過調(diào)用 Match 或 Matches 方法檢索匹配正則表達式模式的一個或所有文本匹配項。 第一個方法返回提供有關(guān)匹配文本的信息的 Match 對象。 第二個方法返回 MatchCollection 對象,該對象對于在分析的文本中找到的每個匹配項包含一個 Match 對象。
      • 通過調(diào)用 Replace 方法替換匹配正則表達式模式的文本。

       

      先用例子來具體說明.net中Regex類的使用方法:

      例子一:替換子字符串

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      using System;
      using System.Text.RegularExpressions;
      public class Example
      {
         public static void Main()
         {
            string pattern = "(Mr\\.? |Mrs\\.? |Miss |Ms\\.? )";
            string[] names = { "Mr. Henry Hunt", "Ms. Sara Samuels",
                               "Abraham Adams", "Ms. Nicole Norris" };
            foreach (string name in names)
               Console.WriteLine(Regex.Replace(name, pattern, String.Empty));
         }
      }

      正則表達式模式 (Mr\.? |Mrs\.? |Miss |Ms\.? ) 可匹配任何“Mr”、“Mr.” 、“Mrs”、“Mrs.” 、“Miss”、“Ms”或“Ms.” . 對 Regex.Replace 方法的調(diào)用會將匹配的字符串替換為 String.Empty;換句話說,它從原始字符串中將其移除.


      例子二:標示重復的單詞

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      using System;
      using System.Text.RegularExpressions;
      public class Class1
      {
         public static void Main()
         {
            string pattern = @"\b(\w+?)\s\1\b";
            string input = "This this is a nice day. What about this? This tastes good. I saw a a dog.";
            foreach (Match match in Regex.Matches(input, pattern, RegexOptions.IgnoreCase))
               Console.WriteLine("{0} (duplicates '{1})' at position {2}",
                                 match.Value, match.Groups[1].Value, match.Index);
         }
      }
      // The example displays the following output:
      //       This this (duplicates 'This)' at position 0
      //       a a (duplicates 'a)' at position 66

      正則表達式模式 \b(\w+?)\s\1\b 可以解釋如下:

       \b:   在單詞邊界處開始
       (\w+):   匹配一個或多個單詞字符,它們一起構(gòu)成可稱為\1的組
       \s:   與空白字符匹配
       \1:   與等于名為\1的組的子字符串匹配
       \b:   與字邊界匹配

      通過將正則表達式選項設(shè)置為 RegexOptions.IgnoreCase,調(diào)用 Regex.Matches 方法. 因此,匹配操作不區(qū)分大小寫,此示例將子字符串“This this”標識為重復.

       

      二、RE學習資料:

      MSDN

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多