V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yanwen
V2EX  ›  问与答

过年好,求问一个 Python 匹配 jsonp 格式的正则。

  •  
  •   yanwen · 2020-01-28 05:37:53 +08:00 · 1362 次点击
    这是一个创建于 1768 天前的主题,其中的信息可能已经有所发展或是发生改变。
    下面是 jsonp,想提取 list 下面的 json 数据。
    铜币致谢。感谢感谢。

    callback({
    list:[
    {
    "title":"\u6CD5\u56FD\u536B\u751F\u90E8\u957F\uFF1A\u6CD5\u56FD\u786E\u8BA4\u0032\u4F8B\u65B0\u578B\u51A0\u72B6\u75C5\u6BD2\u80BA\u708E\u75C5\u4F8B",
    "detail":"\u6CD5\u56FD\u536B\u751F\u90E8\u957F\u5E03\u8D5E\u8868\u793A\uFF0C\u6CD5\u56FD\u786E\u8BA4\u4E24\u4F8B\u65B0\u578B\u51A0\u72B6\u75C5\u6BD2\u80BA\u708E\u75C5\u4F8B\uFF0C\u4E00\u4F8B\u5728\u6CE2\u5C14\u591A\uFF0C\u4E00\u4F8B\u5728\u5DF4\u9ECE\u3002",
    "time":"2020.01.25 03:50:03",
    "link":"https://news.163.com/20/0125/03/F3N61PCB0001899O.html",
    }
    ,
    {
    "title":"\u5C3C\u6CCA\u5C14\u786E\u8BA4\u9996\u4F8B\u65B0\u578B\u51A0\u72B6\u75C5\u6BD2\u75C5\u4F8B\u0020\u7CFB\u8D74\u6B66\u6C49\u7559\u5B66\u751F",
    "detail":"\u5C3C\u6CCA\u5C14\u786E\u8BA4\u9996\u4F8B\u65B0\u578B\u51A0\u72B6\u75C5\u6BD2\u75C5\u4F8B\uFF0C\u516C\u544A\u79F0\u8FD9\u662F\u4E00\u540D\u8FD1\u671F\u7531\u6B66\u6C49\u8FD4\u56DE\u7684\u5C3C\u6CCA\u5C14\u7559\u5B66\u751F\u3002",
    "time":"2020.01.25 01:52:08",
    "link":"https://news.163.com/20/0125/01/F3MV9S8P0001899O.html",
    }
    ,
    {
    "title":"\u6CB3\u5357\u516C\u5E03\u0031\u0033\u0030\u6240\u65B0\u578B\u80BA\u708E\u533B\u7597\u6551\u6CBB\u5B9A\u70B9\u533B\u9662",
    "detail":"\u6CB3\u5357",
    "link":"http://dy.163.com/v2/article/detail/F3GU2A84051291M0.html",
    }
    ]
    })
    第 1 条附言  ·  2020-01-28 06:46:54 +08:00
    感谢 @ihipop

    写着写着 自己写出来了。。虽然看起来是有点复杂。。。

    r'\s+callback\(\{\nlist\:\[\n\s+([\n\t\S\s]+.+?)\s+\]\n\}\)$'


    思路是这样的,正则匹配前面 \s+callback\(\{\nlist\:\[\n\s+

    继而匹配后面的字符\s+\]\n\}\)$

    中间自己想要的用括号括起来就可以了 ([\n\t\S\s]+.+?)
    4 条回复    2020-01-28 05:45:13 +08:00
    ihipop
        1
    ihipop  
       2020-01-28 05:40:04 +08:00 via Android   ❤️ 1
    前缀是固定的话哪里用的到正则,ltrim,rtrim 完事
    ihipop
        2
    ihipop  
       2020-01-28 05:42:10 +08:00 via Android   ❤️ 1
    @ihipop python 的话是 strip
    ihipop
        3
    ihipop  
       2020-01-28 05:43:12 +08:00 via Android   ❤️ 1
    @ihipop strip 以后做前后缀裁剪
    yanwen
        4
    yanwen  
    OP
       2020-01-28 05:45:13 +08:00
    @ihipop 感谢。 感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2631 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:23 · PVG 23:23 · LAX 07:23 · JFK 10:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.