JavaScript解析特定字符串的不同部分

问题描述:

我试图将我的Wordpress网站转换为完全前端,REST API驱动。我摆脱了所有的PHP和几乎使用Wordpress作为一个CMS没有PHP请求。我有很多Wordpress为我解析的代码,但现在我需要处理自己。JavaScript解析特定字符串的不同部分

我需要能够把它们分割的部分:[my_social艺术家= “眨眼-182” 脸谱= “https://en-gb.facebook.com/blink182/” 的SoundCloud = “https://soundcloud.com/blink-182” 的Spotify = “https://open.spotify.com/artist/6FBDaR13swtiWwGhX1WQsP”]

我最终喜欢输出是这样的:

{ 
    tag: "my_social", 
    artist: "blink-182", 
    facebook: "https://en-gb.facebook.com/blink182/", 
    soundcloud: "https://soundcloud.com/blink-182", 
    spotify: "https://open.spotify.com/artist/6FBDaR13swtiWwGhX1WQsP" 
} 

我想我的手在一个正则表达式,但不太清楚如何重复任何非特定键值组。任何帮助?

您可以使用此正则表达式捕捉到的内容,你想:

(\w+)\s*=\s*(".*?")|(\w+) 

Working demo

然后你就可以使用所采集内容以创建一个新的字符串:

"\1":\2, 

并串联字符串:

"tag":"\3" 
+0

不错。我从来没有见过。*?之前的语法,但这确实派上用场。谢谢! – jas7457

+0

@ user1771700即将一个贪婪的操作符转换为一个懒惰的(或非理性的)操作符。它匹配边界之间的最小匹配是有用的 –

+0

是的,它绝对是非常有用的。我在大多数操作符中使用。*语法,但没有意识到可以让它像这样懒惰。非常感谢! – jas7457