http://blog.myspace.cn/e/402025479.htm

原创 2011年01月07日 14:18:00

JavaScript中的正则表达式规则与perl语言的完全一致。按照perl语言的方式书写即可。

但是在操作方法上有所不同:

正则表达式方法:test(),exec()
String对象方法:match(),search(),replace(),split()

=========================================

test()方法:
用法:regexp对象实例.test(字符串) 例如var regstr=/^abc/; regstr.test(str)
返回值:如果满足regexp对象实例中定的正则规则,返回true,否则返回false;

exec()方法:
      用法:regexp对象实例.exec(字符串)
      返回值:如果exec方法没有找到匹配,则它返回null。如果它找到匹配,则exec方法返回一个数组,并且更新全局RegExp对象的属性,以反映匹配结果。数组的0元素包含了完整的匹配,而第1到n元素中包含的是匹配中出现的任意一个子匹配。这相当于没有设置全局标志(g)的match方法。如果为正则表达式设置了全局标志,exec从以lastIndex的值指示的位置开始查找。如果没有设置全局标志,exec忽略lastIndex的值,从字符串的起始位置开始搜索。

match()方法:
      用法:string对象.match(regexp对象) 例如var str=" abcdefesg" ; str.match(/abc/);
      返回值:如果match方法没有找到匹配,返回null。如果找到匹配返回一个数组并且更新全局RegExp对象的属性以反映匹配结果。
      备注:match和exec一个很明显的差别是设置了全文搜索参数g后,它返回的数组不再是一个元素,而是所有的元素,第一个匹配结果数组基数为0,第二个为1,以此类推。
      属性:同exec,match也有index,lastIndex,input三个属性,意义也同exec

search()方法:
      用法:string对象.search(regexp对象)
      返回值:search方法指明是否存在相应的匹配。如果找到一个匹配,search方法将返回一个整数值,指明这个匹配距离字符串开始的偏移位置。如果没有找到匹配,则返回-1。
      注意:返回的只是与正则表达式查找内容匹配的第一个子字符串的位置。所以用全局搜索参数就没有意义了。

replace()方法:
      用法:string对象.replace(regexp对象|字符串," 替换的字符串" )
      返回值:如果设置了全文搜索,则全部满足的都将被替换;否则只替换第一个。返回替换后的字符串。
      注意:replace中还可以接受字符串,但只替换第一个满足条件的字符串。

split()方法:
      用法:string对象.split([分割符(可以是字符串或正则表达式)[,限制输出数组个数]])
      返回值:返回string对象被分割的数组
      注意:string对象不会被split方法修改。分割符是可选项,可以是字符串或正则表达式对象,它标识了分割字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。最后一个选项限制输出数组个数也是可选项,该值用来限制返回数组中的元素个数。
      另外,split本身就带有全文匹配的特性,所以可用可不用g参数。

相关文章推荐

Android中Uri的使用转自http://blog.sina.com.cn/s/blog_821e2bb10100spxv.html

1.Uri 通用资源标志符(Universal Resource Identifier, 简称"URI")。 Uri代表要操作的数据,Android上可用的每种资源 - 图像、视频片段等都...

http://blog.sina.com.cn/s/blog_4e6dffee0100hid1.html

关于OpenFileDialog的使用 1、 OpenFileDialog控件有以下基本属性 InitialDirectory 对话框的初始目录 Filte...

LayoutInflater作用及使用 http://blog.sina.com.cn/s/blog_629b701e0100rg4d.html

作用:  1、对于一个没有被载入或者想要动态载入的界面, 都需要使用inflate来载入.  2、对于一个已经载入的Activity, 就可以使用实现了这个Activiyt的的findView...
  • Moonant
  • Moonant
  • 2013年08月31日 18:49
  • 1132

register(cp:http://blog.sina.com.cn/s/blog_6a1837e90101128k.html)

register:这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率。注意是尽可能,不是绝对。你想想,一个CPU 的寄存器也就那么几个或几十个,你要是定义...

lordPE转自http://blog.sina.com.cn/s/blog_6e8f83bc01014115.html

EntryPoint: 入口点,程序在执行时的第一行代码的地址应该就是这个值   ImageBase: 基地址,文件执行时将被映射到指定内存地址中,这个初始内存地址称为基址。基地址的值由PE文件本...

Java Scoket网络编程,转自commandingofficer的博客(http://blog.sina.com.cn/s/blog_616e189f0100s3px.html)

Java网络编程(1) Socket缓冲区探讨 本文主要探讨java网络套接字传输模型,并对如何将NIO应用于服务端,提高服务端的运行能力和降低服务负载。 1.1 s...

委托模式(转自:http://www.uml.org.cn/j2ee/200411036.htm)

委托模式透明 选择自 www.c-view.org 梗概委托是对一个类的功能进行扩展和复用的方法。它的做法是:写一个附加的类提供附加的功能,并使用原来的类的实例提供原有的功能。 场景扩展和复用一个类的...

应变片原理,小变形测量 http://zy.swust.net.cn/01/1/jzjg0/2/2.3/2.3.htm

从测量技术的历史发展过程和实际使用情况看,数据的量测与采集方法有 (1)用最简单的工具进行人工测量、人工记录。 (2)用仪器进行测量、人工记录 (3)用仪器进行测量、记录...
  • rns521
  • rns521
  • 2011年11月30日 13:40
  • 4779

用OLE操作Excel(目前最全的资料)-转自http://www.lewensky.cn/read.php/212.htm

本文档部分资料来自互联网,大部分是ccrun(老妖)在Excel中通过录制宏-->察看宏代码-->转为CB代码而来.本文档不断更新中.欢迎大家关注. 要在应用程序中控制Excel的运行,首先必须...
  • zlz616
  • zlz616
  • 2013年08月15日 14:02
  • 1510

修改vs2005,vs2008,vs2010调试默认浏览器(转自:http://hi.baidu.com/iaskall/blog/item/17c05a60b35f0551eaf8f803.htm)

在用VS2005开发asp.net时,一按F5,默认使用IE打开待调试的网站,但最近安装VS2010后,用VS2010开发asp.net时,一按F5,默认使用Chrome打开待调试网站,甚是不习惯(尽...
  • lslxdx
  • lslxdx
  • 2011年08月24日 15:50
  • 6601
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:http://blog.myspace.cn/e/402025479.htm
举报原因:
原因补充:

(最多只允许输入30个字)