Javascript 如何匹配两个字符内的重复模式

Javascript 如何匹配两个字符内的重复模式,javascript,regex,Javascript,Regex,以下是字符串: a:4:{i:1;s:2:"on";i:2;N;i:3;s:2:"on";i:4;N;} 它看起来像JSON,但不是。我需要使用正则表达式将其转换为以下数组: ["On", N, "On", N] 有什么想法吗?您的字符串是使用PHP serialize()序列化的数组。如果您从一个PHP程序中获得了它,那么您应该在将它提供给Javascript之前取消序列化 例如,在主机上: $json = json_encode( unserialize( $array)); 现在,您

以下是字符串:

a:4:{i:1;s:2:"on";i:2;N;i:3;s:2:"on";i:4;N;}
它看起来像JSON,但不是。我需要使用正则表达式将其转换为以下数组:

["On", N, "On", N]

有什么想法吗?

您的字符串是使用PHP serialize()序列化的数组。如果您从一个PHP程序中获得了它,那么您应该在将它提供给Javascript之前取消序列化

例如,在主机上:

$json = json_encode( unserialize( $array));
现在,您的Javascript程序只需使用:

var array = JSON.parse(unserialized JSON from host);

然后将其用作普通的Javascript数组。

如何准确定义匹配:出现在“上的
”和
N
“on”
N
(非正式地)由键/值项(
i:2
)分隔的任何情况或者是完全不同的东西?这实际上让我找到了一个非序列化方法的解决方案,该方法是在运行PHP序列化之后用JavaScript创建的,用于非序列化数据。