2

这就是我所拥有的,html:

    <script type="text/javascript">var imp_accountInfo = {
          "id": "6yb32e53e03g4",
          "nickname": "jack"
    };</script>

我想得到这部分:

    {
      "id": "6yb32e53e03g4",
      "nickname": "jack"
    }

我尝试使用cheerio,但我迷失了很多东西,我什至不知道从哪里开始。

4

1 回答 1

0

这个简单的正则表达式可以为您完成(尽管您没有用正则表达式标记您的问题):

/{[^}]+}/g

它只是从左花括号开始,然后匹配不是右花括号的所有内容,并以最后一个右花括号结束。它得到你想要的。

Edit根据评论:

/imp_accountInfo\s=\s({[^}]+})/

这将找到靠近 ' ' 的第一个花括号imp_accountInfo

如何使用

在 JavaScript 中使用 String.match 并使用结果数组的索引'1'

编辑2

我已经扩展了正则表达式,所以现在您可以提取quoted花括号之间的值:

/imp_accountInfo\s=\s{[^"]*"([^"]*)"[^"]*"([^"]*)"[^"]*"([^"]*)"[^"]*"([^"]*)"[^}]*}/

仍然使用 String.match ,您将获得数组中的内容。

于 2018-10-15T19:42:02.237 回答