我想提取一个文件,它应该以[{"linkId":"changeDriveLink"
开始,以,"zone"
之前的文本结束
我的意见是:
[{"linkIdsd":"changeDridsdve [{"linkId":"changeDriveLink","url":"/drive
/3696434","zoneId":"forceAjax"},{"linkId":"printProductsFormSubst","url":"/drive/rayon.pagetemplate.substitutionlist.printproductsformsubst","zoneId":"forc
,"zone"
我想要:
[{"linkId":"changeDriveLink","url":"/drive
/3696434","zoneId":"forceAjax"},{"linkId":"printProductsFormSubst","url":"/drive/rayon.pagetemplate.substitutionlist.printproductsformsubst","zoneId":"forc
我怎么用regex来做这个?你知道吗
正则表达式
应该这样做。中间的
.*
表示任何字符,re.DOTALL
确保即使是换行符也匹配,以防您的json打印得很漂亮。你知道吗但我认为最好是用
json
包加载文件,然后检查它是否满足您的要求:根据给定的字符串,json是一个
list
(数组),它的第一个元素是dict
,dict
有一个值为'linkId'
的'linkId'
键。这就是我在if
语句中检查的内容。你知道吗编辑:
现在我明白你想做什么了。 首先,应该在表达式的begging中省略
^
字符,因为您提供的字符串不是json文件的开始,它应该是结果的开始。 然后,您可以通过分组等方式获得所需的字符串:我在这里使用的是命名分组,您可以在documentation中了解更多
IMHO,使用json包并在结构中搜索要比编写复杂的regex好得多,因为它不可读并且很难调试。你知道吗
你可以访问这个帖子(Parsing json and searching through it)来获取更多的想法。你知道吗
相关问题 更多 >
编程相关推荐