首页 > 试题广场 >

以上代码输出结果为( )

[单选题]
var str1=new RegExp("e");
document.write(str1.exec("hello"));
以上代码输出结果为(      )
  • e
  • null
  • 1
  • 其他几项都不对
JavaScript高级程序设计上面的原话:RegExp 对象的主要方法是 exec(),该方法是专门为捕获组而设计的。 exec()接受一个参数,即要应用模式的字符串,然后返回包含第一个匹配项信息的数组;或者在没有匹配项的情况下返回 null
发表于 2019-04-15 16:32:08 回复(4)
完全不严谨,控制台代码只会返回undefined,只有页面会显示e,那你为什么要问代码输出结果是什么?
发表于 2019-08-31 13:57:43 回复(5)

如果匹配成功,exec() 方法返回一个数组,并更新正则表达式对象的属性。返回的数组将完全匹配成功的文本作为第一项,将正则括号里匹配成功的作为数组填充到后面。

如果匹配失败,exec() 方法返回 null

var str1=new RegExp("e");
str1.exec("hello")
["e", index: 1, input: "hello", groups: undefined]

var str1=new RegExp("l");
str1.exec("hello")
["l", index: 2, input: "hello", groups: undefined]

编辑于 2019-10-20 11:03:32 回复(2)
.exec()就是找有没有e,有就打印出来。
编辑于 2021-03-29 08:09:06 回复(0)
RegExp 对象的主要方法是 exec(),该方法是专门为捕获组而设计的。 exec()接受一个参数,即要应用模式的字符串,然后返回包含第一个匹配项信息的数组;或者在没有匹配项的情况下返回 null。
发表于 2022-07-20 21:34:33 回复(0)
我竟然错在了document.write()上🤣
发表于 2022-05-02 12:13:54 回复(1)
exec() 方法在控制台中输出的应该是一个伪数组,且数组的第一位是 ‘e’ 。而题目中使用的是 document.write() 方法,经过测试发现,页面上显示的是 ‘e’ 而不是伪数组
发表于 2022-02-21 13:37:18 回复(0)
第一行使用构造函数创建一个正则表达式对象,exec()是正则类型的方法,参数传入一个字符串,对该传入的字符串执行正则匹配,匹配成功返回匹配结果,失败返回null。
这里相当于匹配hello里的e,返回e
发表于 2023-03-16 20:39:22 回复(0)
应该是返回数组啊,刚看到的这块知识点
发表于 2020-04-15 17:06:42 回复(2)
从评论里得出了结论,以后牛客网的试题代码都要去执行一下。这太不严谨了。
发表于 2020-04-05 23:58:55 回复(0)
返回的是['e', index: 1, input: 'hello', groups: undefined]
发表于 2022-08-04 16:17:02 回复(0)
运行结果不应该是一个包含e的数组吗
发表于 2021-12-25 22:54:57 回复(0)
运行的结果就是返回e啊!
发表于 2021-04-10 20:30:39 回复(0)
返回数组 ["e", index: 1, input: "hello", groups: undefined],但是被document.write 转换成字符串了

发表于 2021-01-08 16:12:26 回复(0)
<p>exec()应该是返回数组</p><p><br></p>
发表于 2020-11-27 18:04:19 回复(0)
结果是数组
发表于 2020-11-23 10:23:40 回复(0)