笔记007:对象——RegExp正则表达式对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了笔记007:对象——RegExp正则表达式对象相关的知识,希望对你有一定的参考价值。

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"  //匹配文本前加_

 

以上是关于笔记007:对象——RegExp正则表达式对象的主要内容,如果未能解决你的问题,请参考以下文章

[JS]笔记11之正则表达式

ruby 正则表达式

正则表达式之RegExp对象

JS-正则表达式对象/RegExp

JS正则表达式详解

JavaScript 学习-21.正则表达式 RegExp 对象