首页 > 代码库 > 关于正则表达式的一些实际应用

关于正则表达式的一些实际应用

<style>h1,h2,h3,h4,h5,h6,p,blockquote { margin: 0; padding: 0 } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans GB", Arial, sans-serif; font-size: 13px; line-height: 18px; color: #737373; background-color: white; margin: 10px 13px 10px 13px } table { margin: 10px 0 15px 0; border-collapse: collapse } td,th { border: 1px solid #ddd; padding: 3px 10px } th { padding: 5px 10px } a { color: #0069d6 } a:hover { color: #0050a3; text-decoration: none } a img { border: none } p { margin-bottom: 9px } h1,h2,h3,h4,h5,h6 { color: #404040; line-height: 36px } h1 { margin-bottom: 18px; font-size: 30px } h2 { font-size: 24px } h3 { font-size: 18px } h4 { font-size: 16px } h5 { font-size: 14px } h6 { font-size: 13px } hr { margin: 0 0 19px; border: 0; border-bottom: 1px solid #ccc } blockquote { padding: 13px 13px 21px 15px; margin-bottom: 18px; font-family: georgia, serif; font-style: italic } blockquote::before { content: "“"; font-size: 40px; margin-left: -10px; font-family: georgia, serif; color: #eee } blockquote p { font-size: 14px; font-weight: 300; line-height: 18px; margin-bottom: 0; font-style: italic } code,pre { font-family: Monaco, Andale Mono, Courier New, monospace } code { background-color: #fee9cc; color: rgba(0, 0, 0, 0.75); padding: 1px 3px; font-size: 12px } pre { display: block; padding: 14px; margin: 0 0 18px; line-height: 16px; font-size: 11px; border: 1px solid #d9d9d9; white-space: pre-wrap } pre code { background-color: #fff; color: #737373; font-size: 11px; padding: 0 } sup { font-size: 0.83em; vertical-align: super; line-height: 0 } * { }</style>

关于正则表达式在asp.net(C#)开发中的一点应用

正则表达式简介

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。正则表达式是烦琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真阅读本教程,加上应用的时候进行一定的参考,掌握正则表达式不是问题。许多程序设计语言都支持利用正则表达式进行字符串操作。

这段介绍摘自菜鸟教程,个人觉得描述的比较到位。正则表达式就是一串形如@"^[a-zA-Z\d_]{3,20}$",的字符串,其中的字符代表了某种匹配规则。比如[a-z]表示可以匹配a到z的字符,[A-Z]可以匹配A到Z的字符,\d表示匹配数字,{3,20}表示字符串的第3到20位要符合匹配的规则。具体的语法介绍大家可以看看菜鸟教程 这里就不过多赘述,主要还是讲讲如何在asp.net(C#)开发中应用。


正则表达式实例

asp.net(C#)在System.Text.RegularExpressions这个命名空间下包含了一个类叫Regex,它用来进行正则表达式的相关操作,下面是一段代码

  1. string s = abcefg;
  2. newRegex = new Regex(@"^[a-zA-Z\d_]{3,20}$");
  3. Match m = newRegex.Match(s);
  4. if(m.sucesss) Console.WriteLine(“匹配成功”);
  5. else Console.WriteLine(“匹配失败”);

字符串s是需要进行匹配的字符串,newRegex是新建的Regex类的实例,这个实例所代表的正则表达式是 @"^[a-zA-Z\d_]{3,20}$"。 接下来就是对字符串进行匹配了。我们使用Regex类的Match()函数,向函数传入一个需要匹配的字符串,就会根据匹配返回一个Match类。左边声明的Match m 就是用来接收该类型的返回值。Match类的属性和方法这里不过多讲解,大家可以在文章末的附录找到介绍它的链接。Match类有一个公开属性success,代表的就是匹配成功与否,它是一个bool型变量。成功为true,失败为false。根据这个就可以判断所进行匹配的字符串是否匹配成功。这就是一个正则表达式使用的简单流程。正则表达式的难点其实在于语法规则的熟悉,代码编写还是比较简单的。那么下面就给大家附上比较常用的几个正则表达式

  1. @"^[a-zA-Z\d_]{6,20}$"
    匹配的字符串必须是大小写字母、数字、下划线,长度在6~20位,可以用来匹配用户名。
  2. @"^[a-zA-Z\d]{6,20}$"
    匹配的字符串必须是大小写字母、数字,长度在6~20位,可以用来匹配密码

  3. @"^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$"
    匹配字符串满足XXX@XXX.XXX的格式,可用来匹配邮箱地址


附录

1.微软官方文档中对于Match类的详细解释

 

关于正则表达式的一些实际应用