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创建的,用于非序列化数据。