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参数。

本人博客地址http://blog.myspace.cn/qiuxingang

本人博客地址http://blog.myspace.cn/qiuxingang
  • qiuxingang
  • qiuxingang
  • 2008年08月26日 11:25
  • 222

BSGS(a^x%p=b)

BSGS
  • weixin_35867255
  • weixin_35867255
  • 2016年08月17日 19:53
  • 148

设置http_proxy, 穿透公司网关

公司的代理是 .pac 文件自动配置的,观察发现代理为 :,没有协议头。。。直接修改.bashrc, 加入 http_proxy=:                                 e...
  • leehao_bupt
  • leehao_bupt
  • 2008年09月01日 13:59
  • 13353

基于HTTP模拟实现静态服务器-多任务多进程

服务器 多进程
  • YiJie__ShuSheng
  • YiJie__ShuSheng
  • 2017年12月18日 22:29
  • 42

使用socket模拟Http请求

这里举一个简单的例子,使用socket来模拟一段http访问百度代码
  • ZZ7ZZ7ZZ
  • ZZ7ZZ7ZZ
  • 2014年05月17日 20:54
  • 6239

42个著名搜索引擎免费登陆入口大全

我试了一下,大部分可以登陆,想提高访问量的朋友可以去看看中国论坛之家登陆入口http://www.vt123.com/link.html商情168搜索引擎免费登陆入口http://search.168...
  • xbf321
  • xbf321
  • 2006年11月08日 17:38
  • 451

Ubuntu操作系统“Failed to fetch”错误的解决方法

操作系统:Ubuntu 12.04 LTS   在Ubuntu操作系统中,使用apt-get命令安装所需的开发软件非常方便,但也有不少时候由于链接不上软件源而不能正常安装,于是很多人都会想到使用sud...
  • npy_lp
  • npy_lp
  • 2014年12月22日 15:27
  • 41885

[extjs4.0,flash,orache,java,jquery]http://www.uspcat.com/portal.php 不错的技术交流论坛,无广告很干净啊

http://www.uspcat.com/portal.php extjs4.0视频教程 http://www.uspcat.com/forum.php?mod=viewthread&tid=19...
  • sambino
  • sambino
  • 2011年10月14日 10:25
  • 1104

http://acm.hdu.edu.cn/showproblem.php?pid=1010

一道DFS入门题,需要注意的是剪枝很多,,,,开始一看本以为用BFS就可以搞定,,但是测试数据就是不过,,,后来又看了看题,,原来要求的是刚好在T时间到达,而BFS求的是需要的最少时间。。。DFS找到...
  • smallacmer
  • smallacmer
  • 2012年01月06日 17:39
  • 359

学习笔记02·在Windows下搭建Caffe…

选择常用的Windows平台进行环境搭建,先做好准备工作,下载必要的文件。 我渣渣的办公电脑配置如下:        初学阶段,暂时不需要GPU加速,只需要在CPU上进行编译,首先下载Caffe f...
  • rj496631097
  • rj496631097
  • 2017年04月01日 19:05
  • 379
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:http://blog.myspace.cn/e/402025479.htm
举报原因:
原因补充:

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