20道关于JavaScript正则表达式的测试题

1.给定正则表达式/^(SE)?[0-9]$/,满足此匹配条件的字符串是:()

D."ESX1234567Y"

2.给定正则表达式 /^([1-9]|[1-9][0-9]|[1-9][0-9][0-9])$/,满足此匹配条件的字符串是:()

A."010"

B."0010"

C."127"

D."10000"

3.给定正则表达式 /^[0-5]?[0-9]$/,满足此匹配条件的字符串是:

A."99"

B."009"

C."0009"

D."10"

4.匹配一个字符串中两个相邻单词(它们之间可以有一个或者多个空白,如空格、制表符或者任何其他UNICODE空白符)的正则表达式是( )。

A./\b(\b+)\s+\1\b/

B./\b(\w+)\s+\b/

C./\b(\w*)\s+\1\b/

D./\b(\w+)\s+\1\b/

5.已知代码如下,则结果ns变量的值是( )。var s='The AAA is a good AAAA.'; var r=/A/; var ns=s.replace(r,'a');答案是()

A.The aAA is a good AAAA.'

B.The aaa is a good aaaa.'

C.The AAA is a good aAAA.'

D.The aAA is a good aAAA.'

6.给定字符串"

第二,3G资费起反作用。

",求一正则式,能够匹配这当中的内容( )。

A./

(.*?)

/

B./

*

/

C./

(*)

/

D./

(*?)

/

7.软件开发中常用的匹配一个html标记的正则表达式是/]*>/,则符合此格式要求的是( )。

C.abc

8.已知"JavaScript".search(/a(.)a/);,则这个函数返回值是:()

A.2

B.3

C.4

D.1

9.有关String的search函数,说法错误的是:()

A."JavaScript".search(/script/i);将返回子串起始位置4

B.如果search的参数不是正则表达式,则首先会通过RegExp构造函数将它转换成正则表达式。

C.search支持全局检索

D.忽略参数regexp的lastIndex属性,总是从string的开始位置搜索

10.String函数replace的语法格式是stringobject.replace(regexp/substr,replacement)。说法正确的是:()

A.参数replacement不是必需参数。

B.replacement可以是字符串,也可以是函数。

C.replacement中的$字符没有什么特定的含义。

D.ECMAScript第5版定义replace()的replacement参数可以用一个函数来代替字符串。

11.String类match函数的语法格式是stringObject.match(searchvalue) 或者 stringObject.match(regexp),下列说法错误的是:()

A.如果regexp参数不是RegExp对象,则需要首先把它传递给RegExp构造函数,将其转换为RegExp对象。

B.函数的返回值存放匹配结果的数组。该数组的内容依赖于regexp是否具有全局标志g。

C.全局匹配返回的数组的内容与非全局匹配返回的数组内容是一样的。

D.代码'1 plus 2 equals 3'.match(/\d+/g); 将找出一个字符串中的所有数字。

12.有关RegExp类exec函数错误的结论是:()

A.exec总是包含它返回的数组中的每一个匹配项的全部细节,无论regexp是否为一个全局模式。

B.exec是所有RegExp和String模式匹配方法中最强大的一个。

C.exec在string中搜索匹配regexp的文本。如果它找到一个匹配项,它将返回一个由匹配结果组成的数组;否则,它将返回null。返回数组的元素0是匹配的文本。

D.不可以重复调用exec(),以便循环遍历一个字符串中所有的匹配项。

13.有关RegExp类的test方法正确的结论是:()

A.test用于测试字符串string是否包含匹配参数regexp的文本,如果包含则返回1;否则,返回0。

B./java/i.test("ECMAScript");将返回true

C.r.test(s)等价于(r.exec(s)!=null)

D./java/i.test("JavaScript");返回false

14.匹配一个英文句子(假设句子最后没有标点符号)最后一个单词的正则表达式有( )。

A.\b(\w+)\s*$

B.\b(\w+)\s+$

C.\s(\w+)\s*$

D.\b(\w+)\b*$

15.已知Visa卡号可能有13位或者16位,且首位总是为4。则用于匹配Visa卡号的正则表达式有( )。

A./^5[1-5][0-9]$/

B./^5[1-5]\d$/

C./5[^1-5][0-9]$/

D./^(4\d(?:\d)?)$/

16.在HTML文件中经常遇到注释行,对应这种注释行的正则表达式是//,满足此匹配条件的字符串有( )。

A.""

B."

First paragraph

"

C."

Link

"

D.""

17.已知MasterCard信用卡必须包含16位数字。在这16个数字中,前两个数字必须是51-55之间的数字。则如下的正则表达式中合乎匹配MasterCard信用卡的有( )。

A./^5[1-5][0-9]$/

B./^5[1-5]\d$/

C./5[^1-5][0-9]$/

D./^5[1-5][0-9]$/

18.以下说法错误的有:( )

A.JS中如果正则表达式中出现“(?=p)”部分,它有可能是一种分组。

B.JS中如果正则表达式中出现“(?!p)”部分,它有可能是一种分组。

C.JS正则表达式理论中?(包括与其他字符相结合的情况)至少有四种含义。

D.\B用于匹配单词边界的字符,与\b含义正好相反。

19.匹配一个html标记的正则表达式是/]*>/,则符合此格式要求的有( )。

20.JS程序运行时每次遇到对象直接量(初始化表达式)诸如{}和[]的时候都会创建新对象。()

A.正确

B.错误

请把你的答案写在留言区,我们会将正确答案也公布在留言区里。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180909B0ATZY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券