Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用正则表达式从特定格式字符串中提取键值对?_Javascript_Regex - Fatal编程技术网

Javascript 如何使用正则表达式从特定格式字符串中提取键值对?

Javascript 如何使用正则表达式从特定格式字符串中提取键值对?,javascript,regex,Javascript,Regex,我有一个特定格式的字符串 'a:3:{s:8:"postid";s:1:"100";s:6:"commentid";s:1:"200";s:6:"website";s:24:"http://www.example.com";}'; 请注意,上面的字符串不是JSON、序列化对象或任何其他数据格式 可能的要求是提取双引号中的每个值,并映射到双引号中的下一项 我需要的输出是数组映射 [发布ID:100,评论ID:200,网站:http://www.example.com“] 这可以通过正则表达式实现

我有一个特定格式的字符串

'a:3:{s:8:"postid";s:1:"100";s:6:"commentid";s:1:"200";s:6:"website";s:24:"http://www.example.com";}';
请注意,上面的字符串不是JSON、序列化对象或任何其他数据格式

可能的要求是提取双引号中的每个值,并映射到双引号中的下一项

我需要的输出是数组映射

[发布ID:100,评论ID:200,网站:http://www.example.com“]

这可以通过正则表达式实现吗?提供的键posted、commentid和website将始终出现在输入字符串中

"(.*?)";[a-zA-Z]*:\d*:\"(\S+?)"
试试这个。这将给出所有组。请参阅演示

试试这个。这将给出所有组。请参阅演示

试试这个。这将给出所有组。请参阅演示

试试这个。这将给出所有组。请参阅演示


这个简单的应该适合您的需要:

“([^”]+)”[^”]+“([^”]+)”

如您所见,第一组包含键,第二组包含值


演示

这个简单的应该适合您的需要:

“([^”]+)”[^”]+“([^”]+)”

如您所见,第一组包含键,第二组包含值


演示

这个简单的应该适合您的需要:

“([^”]+)”[^”]+“([^”]+)”

如您所见,第一组包含键,第二组包含值


演示

这个简单的应该适合您的需要:

“([^”]+)”[^”]+“([^”]+)”

如您所见,第一组包含键,第二组包含值



演示

您是否可以访问数据/字符串的生成方式?另外,我们可以对这些数据做些什么假设?有哪些变化,哪些没有变化?是的,这在正则表达式中是可能的。使用Match+组,您可以构建此。(在我看来,这个结构相当静态,{typecode}:{subcode}:“Value”.Great for RegEx.@MarvinSmit:true,但如果值中有引号,则会变得更难。不应该是,因为序列的终止符是“;”,在字符串之外。您必须使用贪婪与非贪婪queries@Cerbrus只需要在边双引号中的值,我们就可以丢弃所有其他符号和字符您是否可以访问数据/字符串的构建方式?此外,我们可以对该数据假设什么?其中有哪些更改,哪些没有更改?是的,这在正则表达式中是可能的。使用Match+组,您可以构建它。(在我看来,结构是非常静态的“{typecode}:{subcode}:”Value;).Great for RegEx.@MarvinSmit:true,但如果值中有引号,则会变得更难。不应该是,因为序列的终止符是“;”,在字符串之外。您必须使用贪婪与非贪婪queries@Cerbrus只需要在边双引号中的值,我们就可以丢弃所有其他符号和字符您是否可以访问数据/字符串的构建方式?此外,我们可以对该数据假设什么?其中有哪些更改,哪些没有更改?是的,这在正则表达式中是可能的。使用Match+组,您可以构建它。(在我看来,结构是非常静态的“{typecode}:{subcode}:”Value;).Great for RegEx.@MarvinSmit:true,但如果值中有引号,则会变得更难。不应该是,因为序列的终止符是“;”,在字符串之外。您必须使用贪婪与非贪婪queries@Cerbrus只需要在边双引号中的值,我们就可以丢弃所有其他符号和字符您是否可以访问数据/字符串的构建方式?此外,我们可以对该数据假设什么?其中有哪些更改,哪些没有更改?是的,这在正则表达式中是可能的。使用Match+组,您可以构建它。(在我看来,结构是非常静态的“{typecode}:{subcode}:”Value;).Great for RegEx.@MarvinSmit:true,但如果值中有引号,则会变得更难。不应该是,因为序列的终止符是“;”,在字符串之外。您必须使用贪婪与非贪婪queries@Cerbrus只需要在边双引号中的值,我们就可以丢弃所有其他符号和字符