python正则表达式无法匹配json中的空白
我有一个json文件要清理。我使用python字典匹配一个模式并替换为另一个字符串。例如,我使用解析字典将键替换为值:python正则表达式无法匹配json中的空白,python,regex,json,Python,Regex,Json,我有一个json文件要清理。我使用python字典匹配一个模式并替换为另一个字符串。例如,我使用解析字典将键替换为值: parse_dict={“\\r\\n\s*\s*\\r\\n”:“} 我的json如下所示: [{“name”:[“website1”],“description”:[“\r\n\r\n”, “\r\n一些文本\r\n”.. 我想删除\r\n\r\n部分。但不知何故,解析词典无法匹配该字符串。知道为什么吗 此外,我尝试了{”“:”“},直接使用空格而不是\s,并且它匹配 还尝
parse_dict={“\\r\\n\s*\s*\\r\\n”:“}
我的json如下所示:
[{“name”:[“website1”],“description”:[“\r\n\r\n”,
“\r\n一些文本\r\n”..
我想删除\r\n\r\n
部分。但不知何故,解析词典无法匹配该字符串。知道为什么吗
此外,我尝试了{”“:”“}
,直接使用空格而不是\s
,并且它匹配
还尝试了
{“\s*”:“}
,但不匹配。不知道您在做什么,但它确实有效:
>>> parse_dict = {"\\r\\n\s*<!--\s*INTRODUCTION\s*-->\s*\\r\\n":""}
>>> json = '[{"name": ["website1"], "description": ["<p>\r\n <!-- INTRODUCTION -->\r\n </p>", "<p>\r\n some text \r\n </p>"...'
>>> for pattern, replacement in parse_dict.items():
json = re.sub(pattern, replacement, json)
>>> json
'[{"name": ["website1"], "description": ["<p> </p>", "<p>\r\n some text \r\n </p>"...'
>>parse_dict={“\\r\\n\s*\s*\\r\\n”:“}
>>>json='[{“名称”:[“网站1”],“描述”:[“\r\n\r\n”,“\r\n一些文本\r\n”…”
>>>对于模式,在parse_dict.items()中替换:
json=re.sub(模式、替换、json)
>>>json
“[{”名称“:[“网站1”],“说明“:[””,“\r\n一些文本\r\n”…”
为什么在解析之前要清理它?解析它,你可以直接修改你不喜欢的元素。你能准确地向我们展示你用于匹配的代码吗?这正是代码…我使用解析字典的键来匹配,替换值。你说先解析然后再修改是什么意思,@BryanOakley?因为我参与了当我写这个问题时,使用文本编辑器从json中复制和粘贴。这并不能准确反映实际的json,因为文本编辑器可能已经处理了json,而这个网站可能已经进一步处理了我粘贴的字符串。我怀疑json包含一些非标准空白字符的空白字符呃,可能是编码的问题。