正则表达式30分钟入门教程(2)

作者:deerchao 来源:unibetter大学生社区 时间:2007-08-27 10:38:00 

测试正则表达式

如果你不觉得正则表达式很难读写的话,要么你是一个天才,要么,你不是地球人。正则表达式的语法很令人头疼,即使对经常使用它的人来说也是如此。由于难于读写,容易出错,所以很有必要创建一种工具来测试正则表达式。

由于在不同的环境下正则表达式的一些细节是不相同的,本教程介绍的是Microsoft .Net 2.0下正则表达式的行为,所以,我向你介绍一个.Net下的工具Regex Tester。首先你确保已经安装了.Net Framework 2.0,然后下载Regex Tester。这是个绿色软件,下载完后打开压缩包,直接运行RegexTester.exe就可以了。

下面是Regex Tester运行时的截图:

元字符

现在你已经知道几个很有用的元字符了,如\b,.,*,还有\d.当然还有更多的元字符可用,比如\s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。\w匹配字母或数字或下划线或汉字等。

下面来试试更多的例子:

\ba\w*\b匹配以字母a开头的单词——先是某个单词开始处(\b),然后是字母a,然后是任意数量的字母或数字(\w*),最后是单词结束处(\b)(好吧,现在我们说说正则表达式里的单词是什么意思吧:就是几个连续的\w。不错,这与学习英文时要背的成千上万个同名的东西的确关系不大)。

\d+匹配1个或更多连续的数字。这里的+是和*类似的元字符,不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次。

\b\w{6}\b 匹配刚好6个字母/数字的单词。


表1.常用的元字符
代码说明
.匹配除换行符以外的任意字符
\w匹配字母或数字或下划线或汉字
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束


元字符^(和数字6在同一个键位上的符号)以及$和\b有点类似,都匹配一个位置。^匹配你要用来查找的字符串的开头,$匹配结尾。这两个代码在验证输入的内容时非常有用,比如一个网站如果要求你填写的QQ号必须为5位到12位数字时,可以使用:^\d{5,12}$。

这里的{5,12}和前面介绍过的{2}是类似的,只不过{2}匹配只能不多不少重复2次,{5,12}则是重复的次数不能少于5次,不能多于12次,否则都不匹配。

因为使用了^和$,所以输入的整个字符串都要用来和\d{5,12}来匹配,也就是说整个输入必须是5到12个数字,因此如果输入的QQ号能匹配这个正则表达式的话,那就符合要求了。

和忽略大小写的选项类似,有些正则表达式处理工具还有一个处理多行的选项。如果选中了这个选项,^和$的意义就变成了匹配行的开始处和结束处。

标签:正则表达式,入门
0
投稿

猜你喜欢

  • 账户名和密码漏输或误输的文字提示

    2009-06-24 14:28:00
  • 《CSS禅意花园》学习笔记

    2008-10-20 12:43:00
  • 8个js表单验证函数

    2007-10-28 19:19:00
  • 也说说语义

    2009-12-29 13:04:00
  • asp中获取内容中所有图片与获取内容中第一个图片的代码

    2011-02-20 10:51:00
  • 为MySQL提权简单方法

    2009-08-29 15:21:00
  • 在ASP中使用SQL语句之12:连接

    2009-04-23 18:27:00
  • SQL SERVER数据库开发之触发器的应用

    2008-06-23 13:09:00
  • 轻松掌握执行一个安全的SQL Server安装

    2009-01-13 14:03:00
  • Web内容写作:得到更好稿件的头15条规则[译]

    2011-06-09 14:38:00
  • oracle 查询表名以及表的列名

    2009-07-26 09:33:00
  • 解决SQLServer最大流水号的两个好方法

    2009-01-13 14:15:00
  • 利用不同样式改变相同xhtml结构的布局

    2008-08-20 18:17:00
  • 从外到内提高SQL Server数据库性能

    2009-01-22 14:12:00
  • 将MySQL 5.0下的数据导入到MySQL 3.23中

    2009-01-04 13:02:00
  • SQL Server 2005 SP3正式版下载

    2008-12-16 12:42:00
  • asp如何远程读取数据库页面?

    2010-06-16 09:57:00
  • ASP字符串16进制互转

    2008-06-24 12:28:00
  • 关于导航的探讨

    2008-03-21 12:04:00
  • SQL Server中的执行引擎入门 图解

    2012-06-06 20:08:26
  • asp之家 网络编程 m.aspxhome.com