为什么这个regex可以拆分第二个双引号而不是第一个双引号?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么这个regex可以拆分第二个双引号而不是第一个双引号?相关的知识,希望对你有一定的参考价值。

["])

let regex = /(?=.|["])/;
test = ""test.test""
test.split(regex)

它的输出是:

[""test", ".test", """]

而我要的是

[""", "test", ".test", """]

我不明白为什么要拆开第二个双引号,而不是第一个双引号?

P.S.:一定要保持".test "这样(而不是".""test")。

答案

这不是纯粹的regex解决方案,但你可以用这个regex与捕获组一起使用,过滤空结果。

const str = '"test.test"';

var arr = str.split(/(")|(?=.)/).filter(Boolean)

console.log(arr)

以上是关于为什么这个regex可以拆分第二个双引号而不是第一个双引号?的主要内容,如果未能解决你的问题,请参考以下文章