gpt4 book ai didi

javascript - 如何在字符串中搜索 "x"或 "any number"?

转载 作者:行者123 更新时间:2023-12-02 22:45:36 25 4
gpt4 key购买 nike

当我想要制作掷骰子脚本时遇到了一些障碍。

这个想法是,您可以输入任意数量的参数来掷任意数量的骰子,2d6 + 1d4 + 5d2 - [...]

如何制作一个脚本来查找所有 xdy 并将它们放入数组中?它必须基于 xdy,而不是例如 1d4+1d6-1d8 等情况的空格。

最佳答案

您可以使用 matchAll 提取数字对,像这样:

let s = "1d4+1d6-1d8";
let x = Array.from(s.matchAll(/(-?\d+)d(\d+)/g));
console.log(x);

这会给你一个三元组数组。每个三元组都有匹配的 xdy 模式、x 的值和 y 的值(作为字符串)。

如果您需要 x 和 y 值作为数字而不是字符串,请向 Array.from 调用添加映射器回调:

let s = "1d4+1d6-1d8";
let x = Array.from(s.matchAll(/(-?\d+)d(\d+)/g), ([s, x, y]) => [+x, +y]);
console.log(x);

关于javascript - 如何在字符串中搜索 "x"或 "any number"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58418496/

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