gpt4 book ai didi

javascript - JS split() 正则表达式与单个结果数组的三个匹配

转载 作者:行者123 更新时间:2023-11-29 16:34:15 30 4
gpt4 key购买 nike

我正在尝试使用 split() 在 JS 中拆分以下类型的字符串。

let shape = "Cube - Level 2: three-dimensional";

我想要的最终状态是这样的:

0: "Cube"
1: "Level 2"
2: "three-dimensional"

我可以单独捕获 \s-\sLevel 模式之前的单词,具有积极的前瞻性:

(.+)(?=\s-\sLevel\s)

和带有简单捕获组的 Level\s[0-9] 模式:

(Level\s[0-9])

以及Level:\s之后的任意字符:

(?<=[0-9]:\s).*

但我正在尝试弄清楚如何使用 JS split() 捕获所有三个。有没有办法捕获它们,使 split[0] = "Cube"split[1] = "Level 2" 等?

最佳答案

您可以在破折号(由空格包围)和冒号后跟空格之间交替:

let shape = "Cube - Level 2: three-dimensional";
console.log(
shape.split(/ - |: /)
);

如果您总是想将字符串拆分为这三个组而不是更多,那么您可以捕获捕获组中的Level部分:

let shape = "Cube - Level 2: three-dimensional";
console.log(
shape.split(/ - (Level \d+): /)
);

关于javascript - JS split() 正则表达式与单个结果数组的三个匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52911044/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com