正则表达式(RegExp对象)
 
1.正则表达式字面量,在脚本加载后编译。若你的正则表达式是常量,使用这种方式可以获得更好的性能,重复使用时不会重新编译;
2.使用构造函数创建的RegExp,提供了对正则表达式运行时的编译。主要用于当你知道正则表达式的模式会发生改变时,或者你事先并不了解它的模式或者是从其他地方(比如用户的输入),每次使用都会重新编译;
        var myRe = /d(b+)d/g;
        var myArray = myRe.exec("cdbbdbsbz");
如果你不需要访问正则表达式的属性,这个脚本通过另一个方法来创建myArray:
        var myArray = /d(b+)d/g.exec("cdbbdbsbz");
如果你想通过一个字符串构建正则表达式,那么这个脚本还有另一种方法:
        var myRe = new RegExp('d(b+)d', 'g');  //字符串内特殊字符需转义
或:var myRe = new RegExp(/d(d+)d/,'g')
        var myArray = myRe.exec("cdbbdbsbz");
 
RegExp属性:
RegExp.prototype.constructor 创建该正则对象的构造函数。
RegExp.prototype.global 是否开启全局匹配,也就是匹配目标字符串中所有可能的匹配项,而不是只进行第一次匹配。
RegExp.prototype.ignoreCase 在匹配字符串时是否要忽略字符的大小写。
RegExp.prototype.lastIndex 下次匹配开始的字符串索引位置,这个属性只有在使用g参数时可用
RegExp.prototype.multiline 是否开启多行模式匹配(影响 ^ 和 $ 的行为)。
RegExp.prototype.source 正则对象的源模式文本。在正则表达式创建时更新,不执行
RegExp.prototype.sticky (ES6)是否开启粘滞匹配。
 
RegExp方法:每次执行exec()、test()方法后,就立即自动将lastIndex设置下次匹配开始位置,而String的方法则总是将lastIndex重置为0
 
myRe.exec(str) 如果成功匹配,返回一个数组,并且更新正则表达式对象的属性。返回的数组包括匹配的字符串作为第一个元素,紧接着一个元素对应一个( )保存的子表达式匹配到的子串;如果匹配失败,exec 方法将返回 null。
        返回的数组属性:index指匹配到的字符位于原始字符串的基于0的索引值;input指原始字符串;
        更新后的正则表达式属性: lastIndex 下一次匹配开始的位置; source 正则模式的字符串;
 
myRe.test(str);  测试一个字符串中是否匹配,它返回true或false
 
 
使用正则表达式的方法
方法             描述
exec         一个在字符串中执行查找匹配的RegExp方法,它返回一个数组(未匹配到则返回null)。
test          一个在字符串中测试是否匹配的RegExp方法,它返回true或false。
match       一个在字符串中执行查找匹配的String方法,它返回一个数组或者在未匹配到时返回null。
search      一个在字符串中测试匹配的String方法,它返回匹配到的位置索引,或者在失败时返回-1。
replace     一个在字符串中执行查找匹配的String方法,并且使用替换字符串替换掉匹配到的子字符串。
split          一个使用正则表达式或者一个固定字符串分隔一个字符串,并将分隔后的子字符串存储到数组中的String方法。
 
正则表达式标志
标志     描述
g         全局搜索。
i          不区分大小写搜索。
m         多行搜索。'^','$'多行模式时匹配的开始或结束输入字符串中的每一行,而不是整个字符串的开始或结束
y         执行“粘性”搜索,匹配从目标字符串的当前位置开始,可以使用y标志
u         Unicode。将模式视为Unicode码位(code points)序列

JavaScript学习笔记-正则表达式(RegExp对象)的更多相关文章

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

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

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

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

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

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

  4. JavaScript学习笔记- 正则表达式常用字符集及方法

    正则表达式修饰符(修饰符 可以在全局搜索中不区分大小写) i(ignoreCase)执行对大小写不敏感的匹配 g (global)     执行全局匹配(查找所有匹配而非在找到第一个匹配后停止) m( ...

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

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

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

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

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

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

  8. JavaScript学习笔记-正则表达式(语法篇)

    正则表达式的模式规则是由一个字符系列组成的,包括所有字母和数字在内;大多数的字符(所有字母和数字)都是按字符的直接量来描述带匹配的字符;一些具有特殊语义的字符按照其特殊语义来进行匹配,有些字符需要通过 ...

  9. 1.4(JavaScript学习笔记) window对象的属性及方法

    一.window对象 window对象代表当前窗口,所有全局对象都是windows的属性, 例如document是window的属性,window.document.writer("&quo ...

随机推荐

  1. Oracle Dataguard之Real-Time Apply

    Oracle Dataguard一共支持三种模式:最大可用模式(Maximum Availability),最大性能模式(Maximum Performance),最大保护模式(Maximum Pro ...

  2. placeholder的兼容处理(jQuery下)

    这是一个老问题,结合前辈们的经验,需要处理的问题有一下几个. 1.只有输入框(input/textarea)下的palaceholder属性存在的时候才需要处理这类兼容 2.处理好输入框上焦点和是焦点 ...

  3. 当前标识(IIS APPPOOL\dfcreport)没有对“C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files”的写访问权限。

    Asp.NET网站部署到IIS上面,浏览出现如下图所示错误. 原因原因最 原因: 1.IIS对该文件夹没有写的权限. 2.IIS和asp.net安装顺序错误,应该先IIS,然后asp.net. 3.没 ...

  4. 【转】 Newtonsoft.Json高级用法

    手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数 ...

  5. JS打印页面指定区域

    错误的写法: //打印 function printPage(areaId) { if (parent.$("#PrinFrame").length == 0) { parent. ...

  6. 使用OWIN 为WebAPI 宿主 跨平台

    OWIN是什么? OWIN的英文全称是Open Web Interface for .NET. 如果仅从名称上解析,可以得出这样的信息:OWIN是针对.NET平台的开放Web接口. 那Web接口是谁和 ...

  7. Web前端:HTML~CSS~JS

    网页主要由3部分组成:结构.表现.行为.目前网页的新标准是W3C,模式是HTML.CSS.JavaScript,这是前端开发最核心的3个技术.前2个技术的最新版本分别为HTML5.CSS3.  “HT ...

  8. 使用C#向Sql Sever中存取网络图片和本地图片(二进制流的形式)

    先是做普通的,存储我们本地的图片,将它转化为二进制流存储到数据库对应的表中. 代码如下: string path = "../../A.jpg"; FileStream fs = ...

  9. Asp.net Mvc模块化开发之分区扩展框架

    对于一个企业级项目开发,模块化是非常重要的. 默认Mvc框架的AreaRegistration对模块化开发真的支持很好吗?真的有很多复杂系统在使用默认的分区开发的吗?我相信大部分asp.net的技术团 ...

  10. Winform 导入导出方法

    导出时:引用 using Excel = Microsoft.Office.Interop.Excel; #region 读取excel //打开方法 public DataTable Excelto ...