正则表达式匹配python中的json

2024-10-05 11:43:00 发布

您现在位置:Python中文网/ 问答频道 /正文

iam无法从python中的字符串获取json对象。我需要得到项目:从回应文本。我试过了

[items?:?]\s(\".*\")

ReactDOM.render(React.createElement(BoxedLinksListView, {
            initialState: {
                items: [{
                    link: "https://www.sehir.edu.tr/en/academics/college-of-humanities-and-social-sciences",
                    sort: 1,
                    parentTitle: "",
                    title: "College of Humanities and Social Sciences"
                }, {
                    link: "https://www.sehir.edu.tr/en/academics/graduate-school-of-business/mba-in-islamic-finance-and-economics",
                    sort: 82,
                    parentTitle: "Graduate School of Business",
                    title: "MBA in Islamic Finance and Economics (Thesis)"
                }, {
                    link: "https://www.sehir.edu.tr/en/academics/graduate-school-of-business/mba-in-islamic-finance-and-economics",
                    sort: 83,
                    parentTitle: "Graduate School of Business",
                    title: "MBA in Islamic Finance and Economics (Non-thesis)"
                }]
            }
        }

Tags: andofinhttpstitlewwwlinkitems
1条回答
网友
1楼 · 发布于 2024-10-05 11:43:00

使用RegexJson模块。在

演示:

import re
import json
s = """ReactDOM.render(React.createElement(BoxedLinksListView, {
            initialState: {
                items: [{
                    link: "https://www.sehir.edu.tr/en/academics/college-of-humanities-and-social-sciences",
                    sort: 1,
                    parentTitle: "",
                    title: "College of Humanities and Social Sciences"
                }, {
                    link: "https://www.sehir.edu.tr/en/academics/graduate-school-of-business/mba-in-islamic-finance-and-economics",
                    sort: 82,
                    parentTitle: "Graduate School of Business",
                    title: "MBA in Islamic Finance and Economics (Thesis)"
                }, {
                    link: "https://www.sehir.edu.tr/en/academics/graduate-school-of-business/mba-in-islamic-finance-and-economics",
                    sort: 83,
                    parentTitle: "Graduate School of Business",
                    title: "MBA in Islamic Finance and Economics (Non-thesis)"
                }]
            }
        }"""

data = re.findall(r"items\:\s+.*\]", s, flags=re.MULTILINE|re.DOTALL)[0]
data = "{" + re.sub("([a-zA-Z]+)\:", r'"\1":', data).replace('""https"', '"https') + "}"
print (json.loads(data))

输出:

^{pr2}$

相关问题 更多 >

    热门问题