国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

一般應用場景

2019-11-14 16:23:07
字體:
來源:轉載
供稿:網友

  正則表達式提供了功能強大、靈活而又高效的方法來處理文本。正則表達式的全面模式匹配表示法使您可以快速分析大量文本以找到特定的字符模式;驗證文本以確保它匹配預定義的模式(如電子郵件地址);提取、編輯、替換或刪除文本子字符串;將提取的字符串添加到集合以生成報告。 對于處理字符串或分析大文本塊的許多應用程序而言,正則表達式是不可缺少的工具。,主要是用在以下幾個方面。

  1. 查找
  2. 替換
  3. 分割

查找

  查找一般也有兩個應用場景,一是在做表單輸入驗證,此時需用到Regex類的IsMatch方法。另一個是當你需要在一大段文本中查找出符合規則的內容時,這時要用到Regex類的Matche或Matches方法。

  當在服務端要對表單輸入做驗證的時候,我們通常會這樣做,代碼如下。

/// <summary>        /// 表單輸入驗證時        /// </summary>        [TestMethod]        public void RegexFind1()        {            bool result = Regex.IsMatch("0717-11112222", @"^0/d{2,3}-/d{8}$",RegexOptions.IgnoreCase);        }

返回結果為bool值,注意這里的正則我用到了兩個元字符^和$,關于它們的作用我們后面會講到。

  當我們需要在一大段文本中查找符合定義規則的內容時,我們通常會像下面這樣做,代碼如下。

/// <summary>        /// 從一段文本中查找符合規則的字符串        /// </summary>        [TestMethod]        public void RegexFind2()        {            List<string> result = new List<string>();            string input = "027-11112222@0717-22223333@020-55552222@0769-14528745";            string pattern = @"0/d{2,3}-/d{8}";            MatchCollection matchList= Regex.Matches(input, pattern, RegexOptions.IgnoreCase);            if (matchList != null && matchList.Count > 0)            {                foreach (Match match in matchList)                {                    result.Add(match.Value);                }            }        }

返回結果是一個列表,如下圖。

替換

  關于替換,通常是通過調用 Regex類的Replace 方法替換匹配正則表達式模式的文本,得到我們想要的結果。示例代碼如下。

/// <summary>        /// 將輸入字符串中的Mr.,Mrs.,Miss.和Ms.替換成空格        /// </summary>        [TestMethod]        public void RegexReplace()        {            string input = "Mr. Henry Hunt,Ms. Sara Samuels,Abraham Adams,Ms. Nicole Norris";            string pattern = @"(Mr/.?/s|Mrs/.?/s|Miss/s|Ms/.?/s)";            string result = Regex.Replace(input,pattern,string.Empty);        }

程序輸出結果如下圖。

可以發現,符合規則的內容都被移除了。

分割

  分割暫時還沒有用過,待后面再補充。。。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 旬邑县| 吉水县| 绍兴市| 辉南县| 平塘县| 富顺县| 浦江县| 广水市| 玉屏| 富顺县| 宁阳县| 余庆县| 曲阜市| 台安县| 克山县| 湘潭市| 博湖县| 玉山县| 夏津县| 绥棱县| 巍山| 普宁市| 泰来县| 安多县| 炉霍县| 体育| 镇坪县| 无为县| 会泽县| 天镇县| 新密市| 津南区| 抚宁县| 南康市| 邛崃市| 石渠县| 通海县| 个旧市| 广南县| 广宁县| 汕头市|