好好学一遍JavaScript 笔记(七)——RegExp对象与常用正则

来源:未知 责任编辑:责任编辑 发表时间:2015-09-17 09:43 点击:

javaScript RegExp对象:
global——Boolean值、表示g(全局选项)是否已设置
ignoreCase——Boolean值、表示i(忽略大小写选项)是否已设置
lastIndex——整数、代表下次匹配将会从哪个字符位置开始(只有当使用exec()或test()函数才会填入、否则为0)
multiline——Boolean值、表示m(多行模式选项)是否已设置
source——正则表达式的源字符串形式。例如、表达式/[ba]*/的source将返回"[ba]*"。
一般不会使用global、ignoreCase、multiline和source属性、因为一般之前就已知道了这些数据。
真正有用的属性是lastIndex、它可以告诉你正则表达式在某个字符串中停止之前、查找了多远。
[javascript]
var sToMatch = "bbq is short for barbecue";  
var reB = /b/g;  
reB.exec(sToMatch);    
alert(reB.lastIndex);    //out: 1  
reB.exec(sToMatch);    
alert(reB.lastIndex);    //out: 2   
reB.exec(sToMatch);    
alert(reB.lastIndex);    //out: 18  
reB.exec(sToMatch);    
alert(reB.lastIndex);    //out: 21   
正则表达式reB查找的是b。当它首次检测sToMatch时、
它发现在第一个位置——也就是位置0——是b;
因此、lastIndex属性就被设置成1、
而再次调用exec()时就从这个地方开始执行。
再次调用exec()、表达式在位置1又发现了b、
于是将lastIndex设值为2.第三次调用时、发现b在位置17、
于是又将lastIndex设值为18、如此继续。
如果想从头开始匹配、则可以将lastIndex设为0。
静态属性:
[javascript]
/** 
  * 它们都有两个名字:一个复杂名字和一个以美元符号开头的简短名字。 
  * 长名        短名     描述 
  * input        $_     最后用于匹配的字符串(传递给exec()或test()的字符串) 
  * lastMatch    <span><span class="comment">$&</span></span>     最后匹配的字符 
  * lastParen    $+     最后匹配的分组 
  * leftContext  $`     在上次匹配的前面的子串 
  * multiline    $*     用于指定是否所有表达式都使用多行模式的布尔值 
  * rightContext $'     在上次匹配之后的子串 
  */  
 var sToMatch = "古道西风瘦马、夕阳西下、断肠人在天涯!";    
 var reB = /(西)风/g;  
 reB.test(sToMatch);  
 alert(RegExp.$_);  //out:古道西风瘦马、夕阳西下、断肠人在天涯!  
 alert(RegExp.leftContext);  //out:古道   
 /* 
  * 使用短名时有些字符是不合法的需要使用[]  

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Gb2312转utf-8编码的方法(vbs+js)
  • 如何使用Ajax技术开发Web应用程序(1)
  • js跳转路径问题
  • JavaScript模仿桌面窗口
  • 2011年度最佳 jQuery 插件
  • jquery学习笔记---jqGrid学习笔记 完整整理
  • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
  • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
  • 我是如何去了解jquery的(六),案例之幻灯片轮换
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1