String与RegExp

一、String的方法

1.String.prototype.match()

参数为正则表达式,返回值为一个数组(未匹配到返回null),正则表达式没有g的情况下结果与RegExp.exec()相同,数组第一个为匹配的全部字符串,后边依次为括号中的分组捕获,另外有两个属性,input为源匹配字符,index为匹配到字符串的位置。有g的情况下,返回匹配的所有结果。

var myRe1 = /ab*/g;
var myRe2 = /a(b)*/;
var str = 'abbcdefabh';
var result1 = str.match(myRe1);

result1如下


图1

var result2 = str.match(myRe2);
result2如下

图2

2.String.prototype.search()

返回索引(没匹配到则返回-1)

图3

二、RegExp的方法

1.RegExp.prototype.exec()

当正则表达式有g时,可以多次匹配同一字符串,lastIndex(RegExp对象的属性)会变化,并且会从lastIndex开始匹配(test方法也会更新lastIndex)。

var myRe = /ab*/g;
var str = 'abbcdefabh';
var myArray;
while ((myArray = myRe.exec(str)) !== null) {
  var msg = 'Found ' + myArray[0] + '. ';
  msg += 'Next match starts at ' + myRe.lastIndex;
  console.log(msg);
}

结果如下
Found abb. Next match starts at 3
Found ab. Next match starts at 9

2.RegExp.prototype.test()

返回true或者false

图4
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • '^'必须才开头开始匹配'$'必须在末尾结束匹配'|' 表示‘或’/ab|cd/匹配ab或者cd'.'表示点字符(...
    zjh111阅读 3,073评论 0 0
  • RegExp 三大方法本文的RegExp采用直接量语法表示:/pattern/attributes。attribu...
    恩德_b0c2阅读 3,297评论 0 0
  • 一、概述 正则表达式(regular expression)是一种表达字符串结构的方法,有点像字符串的模版,常常用...
    周花花啊阅读 3,677评论 0 1
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,462评论 0 4
  • 来源与:阿里云栖 禁止用于商业用途 ps:如果需要电子书 评论你们邮箱 我会发给你们 下面感觉还是有点乱 目录 一...
    小向资源网阅读 12,269评论 0 12