JavaScript正则表达式19例(12)

简介:

 (……续例11)

例12:全局RegExp属性

 
 
  1. void function reg_12()  
  2. {  
  3.     var ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion())  
  4.     if (ver >= 5.5)  
  5.     {  
  6.         var s = "Live for nothing,die for something";  
  7.         var r = /\w+/g;  
  8.         while ((r.exec(s)) != null)  
  9.             alert(RegExp.index + "-" + RegExp.lastIndex + ": " + RegExp.lastMatch);  
  10.     }  
  11.     else 
  12.     {  
  13.         alert("只有JScript 5.5及以上版本支持该功能。");  
  14.     }  

行3:检测浏览器的JavaScript脚本引擎,分别获取主版本号和副版本号,然后用.字符连接起来并通过Number()方法转换为数字,从而判断其是否为5.5及以上的版本(低于5.5的版本不支持全局RegExp对象)。
行7:\w符号匹配包括下划线的任何单词字符,等价于'[A-Za-z0-9_]'。由于使用了开关g,因此将匹配每一个,注意,这里并没有使用^符号要求从字符串开始进行匹配。
行8:该循环只要正则表达式匹配到内容就循环,因为有开关g,所以每次都会向后移动一个单词。
行9:通过访问全局对象RegExp的三个属性,显示各个单词的位置及内容。
其中,index属性返回字符位置,它是查找字符串中第一个成功匹配的开始位置;lastIndex属性返回字符位置,它是被查找字符串中下一次成功匹配的开始位置。这两个属性都是基于下标0开始的;显然lastIndex属性会比单词的结束字符所在索引大1。lastMatch属性返回正则表达式搜索过程中的最后匹配的内容。
运行结果:while循环会执行6次,例如第1次显示0-4:Live

(未完待续……)










本文转自 BlackAlpha 51CTO博客,原文链接:http://blog.51cto.com/mengliao/468186,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
JavaScript 前端开发
javascript中的正则表达式
javascript中的正则表达式
|
1月前
|
监控 JavaScript 前端开发
JavaScript 正则表达式详解
【2月更文挑战第26天】
34 1
JavaScript 正则表达式详解
|
6月前
|
移动开发 JavaScript 前端开发
JavaScript丨正则表达式
这里是`JavaScript`的第七期啦,前面的都是基础的知识,基本上大部分开发都是使用到的。这期就讲讲正则表达式,后面几期就是内置函数之类的。基础知识基本上快要结束啦!
JavaScript丨正则表达式
|
JavaScript 前端开发 数据安全/隐私保护
JavaScript 中使用正则表达式
JavaScript 中使用正则表达式
JavaScript 中使用正则表达式
|
机器学习/深度学习 前端开发 JavaScript
javascript正则表达式知识大全
什么是正则表达式 正则表达式(regular expression)是一个描述字符模式的对象。ECMAScript的RegExp类表示正则表达式,而String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数。
931 0
|
前端开发 JavaScript Java