Javascript 以0开头的字符串的正则表达式。以“]”结尾?

Javascript 以0开头的字符串的正则表达式。以“]”结尾?,javascript,arrays,json,regex,string,Javascript,Arrays,Json,Regex,String,我正在尝试使用Javascript拆分以下格式的字符串: [11,0.8979098920018053]、[12,0.89744899978770909]、[13,0.8969923414600217]、[14,0.8965394942578806]、[15,0.8960900097695623]、[16,0.8956434229475816]、[17,0.8951992496549722]、[18,0.8947569861181227]、[19,0.8943161083767102]] 只包含

我正在尝试使用Javascript拆分以下格式的字符串:

[11,0.8979098920018053]、[12,0.89744899978770909]、[13,0.8969923414600217]、[14,0.8965394942578806]、[15,0.8960900097695623]、[16,0.8956434229475816]、[17,0.8951992496549722]、[18,0.8947569861181227]、[19,0.8943161083767102]]

只包含百分比值的单独数组。也就是说,我想要这样一个数组:

[0.8979098920018053、0.8974489978770909、0.8969923414600217等]

以0开头的事物的正确正则表达式是什么。以“]”结尾?这是我所拥有的,但它不起作用:

^[0]\.(.*)\]$

任何帮助都将不胜感激!谢谢

考虑使用
JSON.parse
.map
到一个只包含每个子数组第二项的数组中,它将比使用正则表达式优雅得多:

const input=`[11,0.8979098920018053]、[12,0.8974489978770909]、[13,0.8969923414600217]、[14,0.8965394942578806]、[15,0.896090009769523]、[16,0.89564342294716]、[17,0.8951992496549722]、[18,0.8947569861181227]、[19,0.8943161083767102];
const arr=JSON.parse(输入);
常量输出=arr.map(([,百分比])=>百分比);

控制台日志(输出)使用
JSON.parse
map
-它比正则表达式好得多:

const string=`[11,0.8979098920018053]、[12,0.8974489978770909]、[13,0.8969923414600217]、[14,0.8965394942578806]、[15,0.896090009769523]、[16,0.89564342294716]、[17,0.8951992496549722]、[18,0.8947569861181227]、[19,0.8943161083767102];
const parsed=JSON.parse(字符串);
const percentageValues=parsed.map(p=>p[1]);

console.log(百分比值)
^
匹配字符串的开头,在您的例子中,它是
[
。 您可以尝试对
/(0\.\d+)/g

所以


将返回与给定正则表达式匹配的子字符串数组。您可以使用以下正则表达式:

(0.[0-9]+)*


试一试

以0开头的数字都不会从字符串的开头(或行首)开始,因此
^
锚定肯定不会确保任何匹配?您应该使用0\。而不是0。否则,您也会匹配其他字符,例如0或其他每一个字符
yourString.match(/0\.\d+)/g)