javascript的正则表达式(3)

作者:yehon 来源:web前端寒风 时间:2010-07-27 12:29:00 

基本语法

在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表达式的语法格式。

正则表达式的形式一般如下:  

/love/  其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。用户只要把希望查找匹配对象的模式内容放入“/”定界符之间即可。为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的“元字符”。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。

较为常用的元字符包括: “+”, “*”,以及 “?”。

“+”元字符规定其前导字符必须在目标对象中连续出现一次或多次。

“*”元字符规定其前导字符必须在目标对象中出现零次或连续多次。

“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。

下面,就让我们来看一下正则表达式元字符的具体应用。

/fo+/  因为上述正则表达式中包含“+”元字符,表示可以与目标对象中的 “fool”, “fo”, 或者 “football”等在字母f后面连续出现一个或多个字母o的字符串相匹配。

/eg*/  因为上述正则表达式中包含“*”元字符,表示可以与目标对象中的 “easy”, “ego”, 或者 “egg”等在字母e后面连续出现零个或多个字母g的字符串相匹配。

/Wil?/  因为上述正则表达式中包含“?”元字符,表示可以与目标对象中的 “Win”, 或者“Wilson”,等在字母i后面连续出现零个或一个字母l的字符串相匹配。

有时候不知道要匹配多少字符。为了能适应这种不确定性,正则表达式支持限定符的概念。这些限定符可以指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。

{n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。

{n,} n 是一个非负整数。至少匹配 n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。

{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。

除了元字符之外,用户还可以精确指定模式在匹配对象中出现的频率。例如,/jim {2,6}/ 上述正则表达式规定字符m可以在匹配对象中连续出现2-6次,因此,上述正则表达式可以同jimmy或jimmmmmy等字符串相匹配。

在对如何使用正则表达式有了初步了解之后,我们来看一下其它几个重要的元字符的使用方式。

\s:用于匹配单个空格符,包括tab键和换行符;   

\S:用于匹配除单个空格符之外的所有字符;   

\d:用于匹配从0到9的数字;   

\w:用于匹配字母,数字或下划线字符;   

\W:用于匹配所有与\w不匹配的字符;    

 :用于匹配除换行符之外的所有字符。(说明:我们可以把\s和\S以及\w和\W看作互为逆运算)

下面,我们就通过实例看一下如何在正则表达式中使用上述元字符。

/\s+/ 上述正则表达式可以用于匹配目标对象中的一个或多个空格字符。

/\d000/ 如果我们手中有一份复杂的财务报表,那么我们可以通过上述正则表达式轻而易举的查找到所有总额达千元的款项。

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

猜你喜欢

  • asp如何创建Word 文件?

    2009-11-14 20:47:00
  • SQL Server数据库对于应用程序的关系

    2010-09-08 09:42:00
  • 怎么用FSO生成一个UNICODE格式的文本文件

    2009-05-26 15:40:00
  • MYSQL教程:数据列类型与查询效率

    2009-02-27 15:37:00
  • css基础教程布局篇之一

    2008-07-31 17:21:00
  • 教你快速实现 MySQL查询结果的分页显示

    2008-11-27 16:17:00
  • form 元素内的字段 name 不要跟 form 属性名称一致

    2008-10-22 13:25:00
  • ajax 同步请求和异步请求的差异分析

    2011-07-05 12:36:04
  • CSS元素类型

    2009-04-27 12:25:00
  • 如何快速定位页面中复杂 CSS BUG 问题

    2009-01-15 12:23:00
  • 用javascript 转换外部链接样式

    2007-09-17 10:48:00
  • sqlserver数据库主键的生成方式小结(sqlserver,mysql)

    2012-08-21 10:25:45
  • adodb.stream对象的方法/属性

    2008-06-07 08:14:00
  • 漂亮的title提示信息

    2008-08-12 12:51:00
  • 2007淘宝UED招聘题解(前端开发部分)

    2007-11-24 10:32:00
  • Div+CSS网页布局对SEO的影响漫谈

    2008-08-22 12:58:00
  • 如何使用FSO搜索硬盘文件

    2007-09-27 12:59:00
  • ASP错误大全

    2009-05-26 15:45:00
  • Transact_SQL小手册,适合初学者

    2008-08-25 19:40:00
  • 新兴XML处理方法VTD-XML介绍

    2008-09-04 14:42:00
  • asp之家 网络编程 m.aspxhome.com