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. 我的 Kernel

    求真 工作之后,渐渐与人打交道,人情世俗也慢慢接触了,领了工资之后,也可以买一些自己喜欢的东西,感觉也开始像一个独立完整的人了. 所见所闻也有所想了,有些理念开始慢慢转变了.但是,不知道为什么,对于假 ...

  2. 72. Generate Parentheses && Valid Parentheses

    Generate Parentheses Given a string containing just the characters '(', ')', '{', '}', '[' and ']', ...

  3. FreeBSD从零开始---安装后配置(二)

    系统优化及安全设置   上次说了FreeBSD基本的软件安装和配置,接下来会说系统的详细配置和安全性设置   一.系统优化设置   1.网络相关设置   网卡和IP地址设置: 如果在安装时没有设置IP ...

  4. 项目中用到RouteTable,发布到IIS7中无法访问

    项目中用到RouteTable,发布到IIS7中,访问之后没有任何反应,google半天终于找到了解决方法,就是要把iis的“HTTP重定向”功能打开

  5. Struts2中使用OGNL

    链接:Struts标签库 OGNL(Object Graphic Navigatino Language) OGNL称为对象图导航语言.以一个对象为根(起点),通过OGNL可以访问与这个对象关联的其它 ...

  6. 2.3 ARM寄存器详解

    一共有37个寄存器 1. 31个通用寄存器 2. 6个状态寄存器 R13作为堆栈指针 R14链接寄存器 1.保存函数返回地址 2. 异常返回地址 R15程序计数器(PC指针) 程序状态寄存器 只有在异 ...

  7. Linux 显示文件完整路径

    原链接 http://blog.chinaunix.net/uid-25266990-id-3268759.html ls foo | sed "s:^:`pwd`/:"

  8. mac boot2docker certs not valid with 1.7

    摘自:https://github.com/boot2docker/boot2docker/issues/824 An error occurred trying to connect: Get ht ...

  9. 13,SFDC 管理员篇 - 移动客户端

    1, 自定义导航 设置导航显示内容 Setup | Mobile Administration | Salesforce Navigation   1, 可以添加和删除在mobile中显示的内容   ...

  10. 读艾伦的jQuery的无new构建,疑惑分析——jquery源码学习一

    背景: 有心学习jquery源码,苦于自己水平有限,若自己研究,耗时耗力,且读懂之日无期. 所以,网上寻找高手的源码分析.再经过自己思考,整理,验证.以求有所收获. 此篇为读高手艾伦<jQuer ...