有一个带有javascript:的拆分函数
"ff4400".split(/(?=((?:..)+$))/)
而我认为结果将是:
["", "ff4400", "ff", "4400", "44", "00", "00"]
但它不是:
["ff", "4400", "44", "00", "00"]
正如你所看到的,事实上,分隔符是"4400","00",但我认为应该是"ff4400","4400","00"。ps:捕获的元素将在数组中。
您确实感到困惑,因为这就是只基于正则表达式的结果。然而,String.prototype.split
引入了一些自己的怪癖:
separator的值可以是空字符串、空正则表达式表达式,或者可以匹配空字符串的正则表达式In在这种情况下,分隔符与输入字符串的开头或结尾,也不匹配空上一个分隔符匹配末尾的子字符串。
这里使用的正则表达式将只匹配空字符串,因此与字符串开头对应的匹配将被丢弃,并且它将在结果中产生的元素(""
、"ff4400"
)将丢失。