在包含新行和空格的文本上应用正则表达式

2024-04-19 17:30:56 发布

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

我有一段,我想摘录一下。我在迎合新线和空白的同时面临着这个问题

{
    "ecommerce": {
        "detail": {
            "actionField": {
                "list": "Catalog"
            },
            "products": {
                "name": "Winterjacke \"Wotan\" dried tobacco",
                "id": "30543",
                "price": "200",
                "category": "Anziehen|Neu|Jacken & Strick|Mini a Ture|Jungs||M\u00e4dchen|Jacken & M\u00fctzen|Outdoorbekleidung"
            }
        }
    }
}

我有以下文本作为输入

dataLayer.push({
    "ecommerce": {
        "detail": {
            "actionField": {
                "list": "Catalog"
            },
            "products": {
                "name": "Winterjacke \"Wotan\" dried tobacco",
                "id": "30543",
                "price": "200",
                "category": "Anziehen|Neu|Jacken & Strick|Mini a Ture|Jungs||M\u00e4dchen|Jacken & M\u00fctzen|Outdoorbekleidung"
            }
        }
    }
});

Tags: nameidpricelistproductscatalogdetailcategory
1条回答
网友
1楼 · 发布于 2024-04-19 17:30:56

如果我没听错的话,你在找^{}。这样.将匹配多行(regex101):

data = '''dataLayer.push({
    "ecommerce": {
        "detail": {
            "actionField": {
                "list": "Catalog"
            },
            "products": {
                "name": "Winterjacke \"Wotan\" dried tobacco",
                "id": "30543",
                "price": "200",
                "category": "Anziehen|Neu|Jacken & Strick|Mini a Ture|Jungs||M\u00e4dchen|Jacken & M\u00fctzen|Outdoorbekleidung"
            }
        }
    }
});'''

import re

print( re.findall(r'dataLayer\.push\(({.*?})\);', data, flags=re.DOTALL)[0] )

印刷品:

{
    "ecommerce": {
        "detail": {
            "actionField": {
                "list": "Catalog"
            },
            "products": {
                "name": "Winterjacke "Wotan" dried tobacco",
                "id": "30543",
                "price": "200",
                "category": "Anziehen|Neu|Jacken & Strick|Mini a Ture|Jungs||Mädchen|Jacken & Mützen|Outdoorbekleidung"
            }
        }
    }
}

相关问题 更多 >