在JavaScript中,空的正则表达式模式是否定义了行为?

Clo*_*boy 10 javascript regex

var pattern = /(?:)/
Run Code Online (Sandbox Code Playgroud)

从我的测试来看,它似乎与一切相符.这是定义的行为吗?

use*_*716 14

这并没有直接回答这个问题,但这里有关于空正则表达式的规范:

15.5.4.14 String.prototype.split(分隔符,限制)

separator的值可以是空String,空正则表达式或可以匹配空String的正则表达式.

7.8.5正则表达式文字

注意正则表达式文字可能不为空; 字符//开始单行注释,而不是表示空的正则表达式文字.要指定空的正则表达式,请使用:/(?:)/.

因此,鉴于它是分隔符的可接受值.split(),我猜它是定义的行为,作为分割每个字符的一种方式.

"fjeij;als#%^&é.\n isoij\t;oi`1=+-]\r".split(/(?:)/);

["f", "j", "e", "i", "j", ";", "a", "l", "s", "#", "%", "^", "&", "é", ".", "
", " ", "i", "s", "o", "i", "j", "  ", ";", "o", "i", "`", "1", "=", "+", "-", "]", "
"]
Run Code Online (Sandbox Code Playgroud)

  • 试试控制台`new RegExp()`:)) (2认同)

Che*_*eso 7

/(?:)/匹配"无",匹配一切.一切都没有.嘿嘿
是的,我希望如此.