正则表达式(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. SVN代码回滚

    取消对代码的修改分为两种情况:   第一种情况:改动没有被提交(commit). 这种情况下,使用svn revert就能取消之前的修改. svn revert用法如下: # svn revert [ ...

  2. android.os.networkonmainthreadexception怎么解决

    在android2.3以后,在主线程中必须使用另一个线程,如handler机制,或者异步任务获取网络数据. 如果你的访问网络操作必须放在主线程中执行,那么在onCreate()中添加 if (GetV ...

  3. iOS_UIImge_Gif的展示

    github地址: https://github.com/mancongiOS/UIImage.git 方式一: 用动画展示 UIImageView *gifImageView = [[UIImage ...

  4. js IndexedDB:浏览器端数据库的demo实例

    IndexedDB具有以下特点. (1)键值对储存. IndexedDB内部采用对象仓库(object store)存放数据.所有类型的数据都可以直接存入,包括JavaScript对象.在对象仓库中, ...

  5. mybatis错误之配置文件属性配置问题

    在mybatis的配置文件SqlMapConfig.xml中,可以在开始的地方先加载一个properties节点,用来定义属性变量. <!-- 加载属性文件 --> <propert ...

  6. JAVA 设计模式 观察者模式

    用途 观察者模式 (Observer) 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象. 这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己. 观 ...

  7. ADO.NET基础--组成部分

    第一部分:数据提供程序,在命令空间:System.Data.SqlClient下: Connection--连接数据库的通道 Command----命令执行对象 DataReader--数据读取器 D ...

  8. 使用CSS3对链接颜色与下划线进行优化

    效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  9. LeetCode - Path Sum

    题目: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up ...

  10. html5和css3的常用参考网

    当我们使用HTML5, CSS3,甚至Bootstrap设计网站的时候,有些方面是必须考虑的,比如字体大小,标题大小,行间距,每行字数,字体,颜色,背景图片和文字的搭 配,图标,留白和布局...... ...