1、RegExp

  • 一个用于匹配的模式文本
  • 用0个或多个修饰符描述的匹配模式细节

RegExp对象的创建形式

  • 用内建构造器创建    var re = new RegExp("j.*t")
  • 用文本定义方式  var re = /j.*t/;

2、RegExp对象属性

  • g==>global:相关搜索在找到第一个匹配位置时是否停止(false默认)
  • i==>ignoreCase:是否忽略大小写 (false默认)
  • m==>multiline:设置是否跨行搜索的选项,默认为false
  • lastIndex:搜索开始的索引位置,默认为0
  • source:用于存储正则表达式匹配模式的属性
  • 除lastIndex外,对象创建之后就不能修改

var re = new RegExp('j.*t','gmi');

var re = /j.*t/ig;

2、RegExp对象的方法

  • test() 返回一个布尔值,找到匹配内容时为true
  • exec()  返回一个由匹配字符串组成的数组

/j.*t/.test("Javascript")   ==>false

/j.*t/i.test("javascript")  ==>  true

/j.*t/i.exec("Javscript")[0]   ==>"Javascript"

  • match():返回一个包含匹配内容的数组
  • search():返回第一个匹配内容所在的位置
  • replace():将匹配的文本替换成指定的字符串
  • split():将目标字符串分割成若干个数组元素

var s = new String("HelloJavaScriptWorld");

s.match(/a/)  ;  ==>["a"]

s.match(/a/g)   ==>["a","a"]

s.replace(/[A-Z]/g,'')   ==> "elloavacriptorld"

当匹配对象被找到时,使用$&表示匹配文本

s.replace(/[A-Z]/g,'_$&')   ==> "_Hello_Java_Script_World"  //匹配文本前加_

如果正则表达式中分了组(带括号),使用$1表示匹配分组的第一组,以此类推

s.replace(/([A-Z])/g,'_$1')   ==> "_Hello_Java_Script_World"  //匹配文本前加_

===================================================

回调式替换

var re = /(.*)@(.*)\.(.*)/;

var callback = function() {

return arguments[1] +'at'+ arguments[2] +'at' +arguments[3];

}

"mhf@czmec.com".replace(re, callback);

===========================================

使用正则表达式,用\s*匹配0个或多个空格

var csv='one, two  , three ,  four';

csv.split(',');  ==>['one',' two  ',' three ','  four']

csv.split(/\s*,\s*/)   ==>['one','two','three','four']  //去掉前后空格

  • 用字符串代替过于简单的regexp对象

笔记007:对象——RegExp正则表达式对象的更多相关文章

  1. ECMAScript基本对象——RegExp 正则表达式对象

    含义:定义字符串的组成规则 使用: 1.定义单个字符:[ ] [a] 表示有一个字符是  小写的a [ab] 表示有一个字符是  小写的a或者b [a-z] 表示有一个字符是  小写的a到z [a-z ...

  2. JavaScript RegExp(正则表达式) 对象

    正则表达式是描述字符模式的对象.正则表达式用于在文本上执行模式匹配和“搜索和替换”功能. var patt = /JC2182/i 示例说明: /JC2182/i - 是一个正则表达式. JC2182 ...

  3. RegExp正则表达式对象

    JavaScript的RegExp对象有两种创建方式,一种是字面量,一种是对象. var r = /pattern/attributes或者new RegExp(pattern, attributes ...

  4. javascript中的字符串对象和数组对象

    1.javascript的对象的概念 在javascript中,除了null和undefined以处,其他的数据类型都被定义成了对象 也可以用创建对象的方法定义变量,string,math,array ...

  5. JavaScript对象、JSON对象、JSON字符串的区别

    一.首先看下什么是JSON JSON:JavaScript Object Natation,JavaScript对象的表现形式,已经发展成一种轻量级的数据交换格式. JavaScript对象的表现形式 ...

  6. JavaScript学习笔记(十五)——对象之Date,RegExp

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  7. JS RegExp对象(正则表达式)

    笔记整理自:廖雪峰老师的JS教程 正则表达式语法:https://www.runoob.com/regexp/regexp-tutorial.html 目录 创建方式 方式一 方式二 简单使用 判断正 ...

  8. [转]RegExp 构造函数创建了一个正则表达式对象,用于将文本与一个模式匹配

    本文转自:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp RegExp  ...

  9. js进阶正则表达式实现过滤字符串(RegExp对象操作正则表达式)(正则:regular)(表达式:expression)

    js进阶正则表达式实现过滤字符串(RegExp对象操作正则表达式)(正则:regular)(表达式:expression) 一.总结 1.str_replace:正则作用:高效快速匹配 2.break ...

随机推荐

  1. CentOS7:Puppet推送Zabbix Agent

    创建zabbix模块目录: $ mkdir -p /etc/puppet/modules/zabbix/{manifests,templates} 创建init.pp清单: $ cat /etc/pu ...

  2. type="file" 选择图片后预览

    function setImagePreview(avalue) { var docObj = document.getElementById("doc"); var imgObj ...

  3. Tomcat服务相关

    1. 将Tomcat安装成服务. 找到bin\service.bat文件,往cmd命令行窗口一拉,如果只提示service /remove [../..]那就是Tomcat和java的路径配置没问题. ...

  4. php和js如何通过json互相传递数据

    当我们在结合php和javascript实现某些功能时,经常会用到json.json是js的一种数据格式,可以直接被js解析.而php无法直接读取json数据,但是php提供了json_decode函 ...

  5. JNI支持C++与C的区别

    1. C++的代码后缀是".cpp" 2. 在JNI.h 文件中有两套代码.一套是支持c的, 一套是支持JNI的. JNI.h地址:mac ▸ 用户 ▸ douj ▸ Docume ...

  6. Oauth2.0

    注:Access token 为第三方平台的token,在用户授权时使用Refresh Token为用户的token get/post参数时,一般采用字典排序

  7. java socket 通讯

    (转)http://blog.csdn.net/xn4545945/article/details/8098646

  8. win7远程桌面恢复全屏状态快捷键

    不同的电脑可能有不同的快捷键(有些笔记本电脑甚至没有相应的键值):①台式机:ctrl+alt+break 组合键.②CTRL+ALT+PAGEDOWN 组合键.③有的笔记本没有break键,可以尝试加 ...

  9. 【JAVA】【Eclipse】出现This element neither has attached source nor attached Javadoc...的解决方法

    This element neither has attached source nor attached Javadoc and hence no Javadoc could be found Ec ...

  10. Objective - C 值对象 NSNumber和NSValue

    在进行数据处理的时候,因为对象类型的不同, 并不能进行相应的数据处理,所以必须要进行数据类型的转换,这也就是NSNumber,NSValue这两类值对象出现的原因. 简而言之,NSNumber就是实现 ...