首页 > 试题广场 >

var str1=new RegExp("e"); docu

[单选题]
var str1=new RegExp("e");
document.write(str1.exec("hello"));
以上代码输出结果为()
  • e
  • null
  • TRUE
  • 其他几项都不对

选A。

  • exec() 方法用于检索字符串中的正则表达式的匹配。

  • 返回值
    返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

  • 所以"e".exec("hello")中,"e"是正则表达式,"hello"是检索的字符串。在"hello"字符串中,能够匹配到"e"。因此document.write("e");
    最后结果为e。

  • 说明
    exec() 方法的功能非常强大,它是一个通用的方法,而且使用起来也比 test() 方法以及支持正则表达式的 String 对象的方法更为复杂。
    如果 exec() 找到了匹配的文本,则返回一个结果数组。否则,返回 null。此数组的第 0 个元素是与正则表达式相匹配的文本,第 1 个元素是与 RegExpObject 的第 1 个子表达式相匹配的文本(如果有的话),第 2 个元素是与 RegExpObject 的第 2 个子表达式相匹配的文本(如果有的话),以此类推。除了数组元素和 length 属性之外,exec() 方法还返回两个属性。index 属性声明的是匹配文本的第一个字符的位置。input 属性则存放的是被检索的字符串 string。我们可以看得出,在调用非全局的 RegExp 对象的 exec() 方法时,返回的数组与调用方法 String.match() 返回的数组是相同的。
    但是,当 RegExpObject 是一个全局正则表达式时,exec() 的行为就稍微复杂一些。它会在 RegExpObject 的 lastIndex 属性指定的字符处开始检索字符串 string。当 exec() 找到了与表达式相匹配的文本时,在匹配后,它将把 RegExpObject 的 lastIndex 属性设置为匹配文本的最后一个字符的下一个位置。这就是说,您可以通过反复调用 exec() 方法来遍历字符串中的所有匹配文本。当 exec() 再也找不到匹配的文本时,它将返回 null,并把 lastIndex 属性重置为 0。

发表于 2019-08-19 10:54:32 回复(0)
exec()匹配成功时返回的是数组,存放的是匹配成功的结果
使用document.write();输出时,会将数组转化为字符串
因此本题输出e
发表于 2020-02-25 18:00:49 回复(0)
exec()返回的是数组,存放的是匹配成功的结果。 test()返回的是布尔值
发表于 2019-10-13 15:44:29 回复(0)
exec匹配成功之后返回的是数组,hello里面匹配成功了一个e,所以exec返回的结果是["e"],但是通过document.write()方法打印出来之后会将数组转成字符串,最终我们看到的结果就是"e"
发表于 2020-08-16 10:24:11 回复(0)
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions JavaScript regexp的test() exec() String的 match matchAll replace search split
发表于 2019-08-17 00:09:00 回复(0)
exec匹配成功之后返回的是数组,hello里面匹配成功了一个e,所以exec返回的结果是
["e"],但是通过document.write()方法打印出来之后会将数组转成字符串,最终我们看到的结果就是"e"
发表于 2022-01-15 10:42:03 回复(0)
正则匹配
发表于 2023-10-31 17:11:57 回复(0)

exec()方法用于检索字符串中的正则表达式的匹配。

如果字符串中有匹配的值返回该匹配值,否则返回null。

eg:var str1=new RegExp("e");  //e是正则表达式

document.write(str1.exec("hello"));  //hello是用于检索的字符串

输出结果:e

发表于 2022-08-03 17:43:13 回复(0)
我还以为是控制台输出结果呢,以为是undefined........
发表于 2021-09-03 11:16:56 回复(0)
exec中,hello匹配成功"e",document.write将数组转换为字符串e
发表于 2021-07-28 22:24:43 回复(0)
exec返回匹配的数组,类似match
发表于 2020-08-29 14:59:07 回复(0)