这就是我拥有的html:
<script type="text/javascript">var imp_accountInfo = {
"id": "6yb32e53e03g4",
"nickname": "jack"
};</script>
我想要得到这个部分:
{
"id": "6yb32e53e03g4",
"nickname": "jack"
}
我试着使用cheerio,但我迷失了太多东西,我甚至不知道从哪里开始。
发布于 2018-10-16 03:42:02
这个简单的正则表达式可以为您完成此任务(尽管您尚未使用regex标记您的问题):
/{[^}]+}/g
它只是以左大括号开始,然后匹配所有不是右大括号的内容,并以最后一个右大括号结束。它得到的正是你想要的。
Edit
根据评论:
/imp_accountInfo\s=\s({[^}]+})/
这将找到靠近“imp_accountInfo
”的第一个大括号。
如何使用
在JavaScript中使用String.match,并使用结果数组的索引'1'
。
Edit2
我已经扩展了正则表达式,所以现在可以提取花括号之间的quoted
值:
/imp_accountInfo\s=\s{[^"]*"([^"]*)"[^"]*"([^"]*)"[^"]*"([^"]*)"[^"]*"([^"]*)"[^}]*}/
仍然使用String.match,您将获得数组中的内容。
https://stackoverflow.com/questions/52823454
复制相似问题