一般应用场景

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

正则表达式提供了功能强大、灵活而又高效的方法来处理文本。正则表达式的全面模式匹配表示法使您可以快速分析大量文本以找到特定的字符模式;验证文本以确保它匹配预定义的模式(如电子邮件地址);提取、编辑、替换或删除文本子字符串;将提取的字符串添加到集合以生成报告。 对于处理字符串或分析大文本块的许多应用程序而言,正则表达式是不可缺少的工具。,主要是用在以下几个方面。

查找替换分割查找查找一般也有两个应用场景,一是在做表单输入验证,此时需用到Regex类的IsMatch方法。另一个是当你需要在一大段文本中查找出符合规则的内容时,这时要用到Regex类的Matche或Matches方法。

当在服务端要对表单输入做验证的时候,我们通常会这样做,代码如下。

///<summary>///表单输入验证时///</summary>[TestMethod]publicvoidRegexFind1()

{boolresult = Regex.IsMatch("0717-11112222",@"^0\d{2,3}-\d{8}$",RegexOptions.IgnoreCase);

}

返回结果为bool值,注意这里的正则我用到了两个元字符^和$,关于它们的作用我们后面会讲到。

当我们需要在一大段文本中查找符合定义规则的内容时,我们通常会像下面这样做,代码如下。

///<summary>///从一段文本中查找符合规则的字符串///</summary>[TestMethod]publicvoidRegexFind2()

{

List<string> result =newList<string>();stringinput ="027-11112222@0717-22223333@020-55552222@0769-14528745";stringpattern =@"0\d{2,3}-\d{8}";

MatchCollection matchList=Regex.Matches(input, pattern, RegexOptions.IgnoreCase);if(matchList !=null&& matchList.Count >0)

{foreach(Match matchinmatchList)

{

result.Add(match.Value);

}

}

}

返回结果是一个列表,如下图。

替换关于替换,通常是通过调用 Regex类的Replace 方法替换匹配正则表达式模式的文本,得到我们想要的结果。示例代码如下。

///<summary>///将输入字符串中的Mr.,Mrs.,Miss.和Ms.替换成空格///</summary>[TestMethod]publicvoidRegexReplace()

{stringinput ="Mr. Henry Hunt,Ms. Sara Samuels,Abraham Adams,Ms. Nicole Norris";stringpattern =@"(Mr\.?\s|Mrs\.?\s|Miss\s|Ms\.?\s)";stringresult = Regex.Replace(input,pattern,string.Empty);

}

程序输出结果如下图。

可以发现,符合规则的内容都被移除了。

分割分割暂时还没有用过,待后面再补充。。。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航