-3
... html ...
[{"url":"/test/test/url","id":"111111"},{"url":"/test/test/url","id":"111111"},    {"url":"/test/test/url","id":"1111"}]
.... html ...

我在 html 中有一些 json 类型的字符串。

如何使 rex 表达式提取模式为

“/test/test/url”和“1111”在“id”之后:

提前致谢,

4

2 回答 2

4

这里不要使用正则表达式,使用json模块。这就是它的设计目的。

import json
mylist = json.loads(html)
for subdict in mylist:
    print subdict['url']
    print subdict['id']
于 2013-11-02T02:56:04.503 回答
1

您应该使用@Haidro 对此的回答,但是如果您想使用正则表达式,或者看看您会怎么做,那么这里有一些示例代码:

regex = re.compile(r'\"url\":("[^"]+"),\"id\":("[^"]+")')
match = re.finditer(regex, yourString)

for m in match:
    print m.group(1), m.group(2)

[^"]是一个接受所有非"字符的字符类。

编辑:
我喜欢我推荐另一个答案的方式,但是如果有人真的想知道,请解释如何去做,但不知何故我仍然被否决了。

于 2013-11-02T03:38:30.547 回答