从字符串 const str = 'qwbewrbbeqqbbbweebbbbqee';中能得到结果 ["b", "bb", "bbb", "bbbb"] 以下错误语句是?

发布时间 2023-11-11 01:01:39作者: 龙陌

从字符串 const str = 'qwbewrbbeqqbbbweebbbbqee';中能得到结果 ["b", "bb", "bbb", "bbbb"] 以下错误语句是?
A
str.match(/b+/g)

B
str.match(/b*/g)

C
str.match(/b{1,4}/g)

D
str.match(/b{1,5}/g)

正确答案:B

正则表达式里:

?出现0次或1次. [0,1]

  • 出现0次或多次. [0,+∞]
  • 出现1次或多次 [1,+∞]

A. str.match(/b+/g) 是正确的语句。

该正则表达式匹配连续出现 1 次或多次的字母 "b"。在给定的字符串中,它会匹配到所有连续出现的 "b"。因此,结果将包含所有连续的 "b"。正确的结果应该是 ["b", "bb", "bbb", "bbbb"]。

B. str.match(/b*/g) 是正确的语句。

该正则表达式匹配连续出现 0 次或多次的字母 "b"。在给定的字符串中,它会匹配到所有的 "b",包括不连续的和连续的。因此,结果将包含所有的 "b"。正确的结果应该是 ["b", "", "", "", "b", "b", "b", "", "", "", "", "", "b", "", "", ""]。

C. str.match(/b{1,4}/g) 是正确的语句。

该正则表达式匹配连续出现 1 到 4 次的字母 "b"。在给定的字符串中,它会匹配到所有连续出现的 "b",但是不会匹配超过 4 个连续的 "b"。因此,结果将包含所有符合条件的连续的 "b"。正确的结果应该是 ["b", "bb", "bbb", "bbb"]。注意,最后一个 "bbbb" 被截断为 "bbb",因为它超过了 4 个连续的 "b"。

D. str.match(/b{1,5}/g) 是错误的语句。

该正则表达式匹配连续出现 1 到 5 次的字母 "b",但是在给定的字符串中,最长连续出现的 "b" 的次数为 4,小于5次,满足条件,正确的结果应该是 ["b", "bb", "bbb", "bbbb"]。

代表次数的量词元字符:

  • : 0到多个
  • : 1到多个

? : 0次或1次 可有可无

{n} : 正好n次;

{n,} : n到多次

{n,m} : n次到m次

所以显而易见cd也对