1、正则表达式test方法

var text = "cat, bat, sat, fat";
var pattern = /.at/; if (pattern.test(text)){
alert("The pattern was matched.");
}

2、正则的toString()方法

 var pattern = new RegExp("\\[bc\\]at", "gi");
alert(pattern.toString()); // /\[bc\]at/gi
alert(pattern.toLocaleString()); // /\[bc\]at/gi

3、RegExp Constructor(构造函数) Properties(属性)

  var text = "this has been a short summer";
var pattern = /(.)hort/g; /*
* Note: Opera doesn't support input, lastMatch, lastParen, or multiline.
* Internet Explorer doesn't support multiline.
*/
if (pattern.test(text)){
alert(RegExp.input); //this has been a short summer
alert(RegExp.leftContext); //this has been a
alert(RegExp.rightContext); // summer
alert(RegExp.lastMatch); //short
alert(RegExp.lastParen); //s
alert(RegExp.multiline); //false
}
input      保存被搜索的字符串
index      保存匹配的首字符的位置
lastIndex     保存匹配的字符串下一个字符的位置
lastMatch     保存匹配到的字符串
lastParen     保存最后一个被匹配的字符串(最后一个括号内的内容)
leftContext    保存匹配字符串左边的内容
rightContext   保存匹配字符串右边的内容
$1~$9 保存最开始的9个子匹配(括号中的内容)
 var text = "this has been a short summer";
var pattern = /(.)hort/g; /*
* Note: Opera doesn't support short property names.
* Internet Explorer doesn't support multiline.
*/
if (pattern.test(text)){
alert(RegExp.$_); //this has been a short summer
alert(RegExp["$`"]); //this has been a
alert(RegExp["$'"]); // summer
alert(RegExp["$&"]); //short
alert(RegExp["$+"]); //s
alert(RegExp["$*"]); //false
}
* 分为长属性名和短属性名
* input $_ 最近一次要匹配的字符串
* lastMatch $& 最近一次的匹配项
* lastParen $+ 最近一次匹配的捕获组
* leftContext $` input字符串中lastMatch之前的文本
* multiline $* 布尔值,表示是否所有表达式都使用多行模式。
* rightContext $' input字符串中lastMatch之后的文本

4、正则$1.....$9

 var text = "this has been a short summer";
var pattern = /(..)or(.)/g; if (pattern.test(text)){
alert(RegExp.$1); //sh
alert(RegExp.$2); //t
}
每当产生一个带括号的成功匹配时,$1...$9 属性的值就被修改。
可以在一个正则表达式模式中指定任意多个带括号的子匹配,但只能存储最新的九个。

5、RegExp exec() 

 var text = "mom and dad and baby";

        var pattern = /mom( and dad( and baby)?)?/gi;
var matches = pattern.exec(text); alert(matches.index); //0 第一个被匹配到的位置
alert(matches.input); //"mom and dad and baby" 匹配的原始字符串
alert(matches[0]); //"mom and dad and baby" 匹配的第一个值
alert(matches[1]); //" and dad and baby" 匹配的第二个值
alert(matches[2]); //" and baby" 匹配的第三个值
 var text = "cat, bat, sat, fat";
var pattern1 = /.at/; var matches = pattern1.exec(text);
alert(matches.index); //
alert(matches[0]); //"cat"
alert(pattern1.lastIndex);// matches = pattern1.exec(text);
alert(matches.index); //
alert(matches[0]); //"cat"
alert(pattern1.lastIndex);// var pattern2 = /.at/g; var matches = pattern2.exec(text);
alert(matches.index); //
alert(matches[0]); //"cat"
alert(pattern2.lastIndex);// matches = pattern2.exec(text);
alert(matches.index); //
alert(matches[0]); //"bat"
alert(pattern2.lastIndex);//

6、RegExp实例属性

  var pattern1 = /\[bc\]at/i;

        alert(pattern1.global);     //false  //是否设置全局查找
alert(pattern1.ignoreCase); //true 是否忽略大小写
alert(pattern1.multiline); //false 是否设置多行查找
alert(pattern1.lastIndex); //0 一个整数,标示开始下一次匹配的字符位置。
alert(pattern1.source); //"\[bc\]at" 正则表达式的源文本。 var pattern2 = new RegExp("\\[bc\\]at", "i"); alert(pattern2.global); //false
alert(pattern2.ignoreCase); //true
alert(pattern2.multiline); //false
alert(pattern2.lastIndex); //
alert(pattern2.source); //"\[bc\]at"

javascript 学习总结(六)RegExp对象的更多相关文章

  1. JavaScript学习笔记-正则表达式(RegExp对象)

    正则表达式(RegExp对象)   1.正则表达式字面量,在脚本加载后编译.若你的正则表达式是常量,使用这种方式可以获得更好的性能,重复使用时不会重新编译: 2.使用构造函数创建的RegExp,提供了 ...

  2. Javascript学习6 - 类、对象、继承

    原文:Javascript学习6 - 类.对象.继承 Javasciprt并不像C++一样支持真正的类,也不是用class关键字来定义类.Javascript定义类也是使用function关键字来完成 ...

  3. JavaScript学习06 JS事件对象

    JavaScript学习06 JS事件对象 事件对象:当事件发生时,浏览器自动建立该对象,并包含该事件的类型.鼠标坐标等. 事件对象的属性:格式:event.属性. 一些说明: event代表事件的状 ...

  4. JavaScript:学习笔记(9)——Promise对象

    JavaScript:学习笔记(9)——Promise对象 引入Promise Primose是异步编程的一种解决方案,比传统的解决方案回调函数和事件更加合理和强大.如下面为基于回调函数的Ajax操作 ...

  5. JavaScript:学习笔记(10)——XMLHttpRequest对象

    JavaScript:学习笔记(10)——XMLHttpRequest对象 XHR对象 使用XMLHttpRequest (XHR)对象可以与服务器交互.您可以从URL获取数据,而无需让整个的页面刷新 ...

  6. Javascript学习笔记——操作浏览器对象

    Javascript学习笔记 目前尝试利用javascript去对于一个浏览器对象完成一系列的访问及修改, 浏览器是网页显示.运行的平台,常用的浏览器有IE.火狐(Firefox).谷歌(Chrome ...

  7. javascript学习笔记02--面向对象学习

    js面向对象编程 1.  javascript 是一种基于对象的编程    object-based(基于对象):遇到的所有对象都是对象2.javascript没有类class,但是有新的原型对象,习 ...

  8. JavaScript学习笔记之原型对象

    本文是学习<JavaScript高级程序设计>第六章的笔记. JS中,便于批量创建对象的三种模式: 1.工厂模式:用一个函数封装创建对象的细节,传入必要的参数,在函数内部new一个对象并返 ...

  9. JavaScript学习总结(六)——前端模块化开发

    早期的javascript版本没有块级作用域.没有类.没有包.也没有模块,这样会带来一些问题,如复用.依赖.冲突.代码组织混乱等,随着前端的膨胀,模块化显得非常迫切. 前端模块化规范如下: 一.前端模 ...

  10. JavaScript学习笔记(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

    一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

随机推荐

  1. 【SSH2(理论+实践)】--Hibernate步步(一个)

    前几个博客讨论SSH2该框架Struts,它代表层,集成封装.和使用WebWork作为核心处理,依赖映射是它的处理核心.在使用时需要Struts.xml配置相应Action和Interceptor够完 ...

  2. android 简单的登录

    一直都知道WEB通过登录后session拿着回答,如今,安卓不知道怎么弄的. 研究了一下,它记录.直接在代码: server结束: index.jsp <%@page import=" ...

  3. SharePoint 2013 添加Ribbon菜单

    原文:SharePoint 2013 添加Ribbon菜单 前言:今天,我们尝试一下添加SharePoint2013的Ribbon菜单,这个Ribbon菜单是由XML定义,JavaScript脚本来实 ...

  4. Intent常用使用汇总

    方法一:调用默认的短信程序Intent intent = new Intent(Intent.ACTION_VIEW);intent.setType("vnd.android-dir/mms ...

  5. Eclipse正在使用Ant扑灭Android数据包错误的解决方案 – Perhaps JAVA_HOME does not point to the JDK

    问题描写叙述: 在Eclipse中执行ant批量打包工具出错,日志信息例如以下: D:\Android\android-sdk-windows\tools\ant\build.xml:601: The ...

  6. 启示—地点IT高管20在职场心脏经(读书笔记6)

    启示--一个IT高管20在职场心脏经 第七章  关于销售 用"最"来形容公司的销售.能够用上若干的词汇: 最牛,最累,最精,最傻,最有钱,最贱,最能吹.最能装... 1.1  销售 ...

  7. TDD和BDD

    开发人员看测试之TDD和BDD   前言: 已经数月没有来园子了,写博客贵在坚持,一旦松懈了,断掉了,就很难再拾起来.但是每每看到自己博客里的博文的浏览量每天都在增加,都在无形当中给了我继续写博客的动 ...

  8. 微博API怎么爬取其它未授权用户的微博/怎么爬取指定用户公布的微博

    获取某个用户最新发表的微博列表:http://open.weibo.com/wiki/2/statuses/user_timeline 原接口已经被封.很多人都在问怎么获取指定用户的微博,于是写这篇B ...

  9. Java代码优化(转)

    前言 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用, ...

  10. 设置韩澳大利亚sinox弄winxp清除字体和界面美观

    澳大利亚开始与汉sinox一直以为接口暗淡,字体比较模糊,否winxp光明,导致眼比较辛苦的眼睛.比方说,可能不那么黯淡刺眼,有益眼睛,但我不能忍受字体模糊.即使调整分辨率,,但是字体模糊还是没有改观 ...