资讯专栏INFORMATION COLUMN

RegExp 的 exec 方法

MasonEast / 2694人阅读

语法:
regexObj.exec(str)

作用是检测 str 中是否有匹配 regexOjb 的部分,返回值是一个数组。简单的例子:

var re = /d/g
var str = "a11a22a11a22"

re.exec(str) // 第1次执行

// Result:      ["1", index: 1, input: "a112211"]
// 索引0:       匹配的值
// 属性"index": 这个值所在位置

re.exec(str) // 第2次执行 (注意:re 如果没有加 g 标识的话,执行结果和第1次一样,不会向后匹配)

// Result:      ["1", index: 2, input: "a112211"]

如果 re 中有分组,则会把分组放入执行结果的 [1]...[n]

改变一下上例中的 re :

var re = /(ad)(d)/g // 两个分组:(ad)、(d)
var str = "a11a22a11a22"

re.exec(str) // 第1次执行

// Result:      ["a11", "a1", "1", index: 0, input: "a11a22a11a22"]
// 索引0:       匹配的值
// 索引1:       匹配第1个分组的值
// 索引2:       匹配第2个分组的值
// 属性"index": 这个值所在位置

re.exec(str) // 第2次执行

// Result:      ["a22", "a2", "2", index: 3, input: "a11a22a11a22"]

利用exec() 会把匹配内容中分组的值分别得到的特性,我们可以很方便得从一段字符串中取得目标信息。如:

var re2 = /(d{1,4}) (.*?) (w{2} d{4,5}),?/gi
var [_ , nb, addr, zip] = re2.exec("123 Main Street St. Louisville OH 43071")

// nb:   123
// addr: Main Street St. Louisville
// zip:  OH 43071

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83293.html

相关文章

  • PocketLibs(2)—— 请求相关 path-to-regexp

    摘要:直接调用构造函数使用,一个可能含某种匹配模式的路径字符串作为它的必选参数,它返回一个正则对象。有两个方法返回一个正则对象,效果与调用构造函数一样返回一个函数,该函数与下面的返回的函数功能一样方法,同样接收一个路径字符串。 code in here使用path-to-regexp,我们可以在路径字符串中使用正则。如/:foo*/:bar?、/icon-:foo(d+).png等。像exp...

    Prasanta 评论0 收藏0
  • JS中正则表达式

    摘要:构造函数可以有两个字符串参数,第一个参数包含正则表达式的主体部分。只读的布尔值,说明这个正则表达式是否带有修饰符。中正则的扩展构造函数在中,只能接受字符串作为参数,允许其直接接受正则表达式作为参数。 上文传送门:初探正则表达式 正则表达式是一个描述字符模式的对象,JavaScript 的 RegExp 类表示正则表达式,String 和 RegExp 都定义了方法,后者使用正则表达式进...

    Soarkey 评论0 收藏0
  • javascript正则表达式

    摘要:对象表示正则表达式,它是对字符串执行模式匹配的强大工具。方法也可用于改变和重新编译正则表达式。在下面的这个示例中,定义正则表达式直接量,用来匹配字符串中每个字符。 RegExp对象表示正则表达式,它是对字符串执行模式匹配的强大工具。RegExp对象用于规定在文本中检索的内容。 创建RegExp对象有两种方式:1.直接量语法:/pattern/attributes示例:var patt1...

    vincent_xyb 评论0 收藏0
  • 正则表达式相关API

    摘要:如果传入的字符串与正则表达式匹配,返回,反之返回。根据正则表达式里面是否有,的行为有较大差异。六方法的参数可以是一个正则表达式,也可以是一个字符方法按照给定的正则表达式或者字符分割字符串,返回一个包含分割后的子串的数组。 与正则表达式相关的API有以下7个: RegExp.prototype​.test() RegExp.prototype​.exec() String​.proto...

    MobService 评论0 收藏0
  • JavaScript引用类型——“RegExp类型”注意要点

    摘要:类型通过类型来支持正则表达式。如由于构造函数的模式参数是字符串,所以在某些情况下要对字符串进行双重转义。而第二个循环使用构造函数在每次循环冲创建正则表达式。如另外,还有个用于存储捕获组的构造函数属性。 EegExp 类型 ECMAScript 通过RegExp 类型来支持正则表达式。语法如下: var expression = / pattern / flags; 每个正则表达式都可...

    mochixuan 评论0 收藏0
  • Regexp对象

    摘要:等价于实例属性正则对象的实例属性分成两类。返回一个布尔值,表示是否设置了修饰符。字符串对象的方法,返回第一个满足条件的匹配结果在整个字符串中的位置。字符串对象的方法按照正则规则分割字符串,返回一个由分割后的各个部分组成的数组。 概述实例属性实例方法RegExp.prototype.test()g RegExp.prototype.exec()g括号indexx input属性字符串的实...

    NervosNetwork 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<