1
Pythonerxiaobai 2018-01-09 18:43:44 +08:00 1
返回值就是列表啊,列表里面没值而已
|
2
mochanight OP @Pythonerxiaobai 对的,我就是想问能不能不返回列表,直接返回字符串
|
3
ranleng 2018-01-09 18:48:50 +08:00 2
lxml xpath ?
|
4
wenbinwu 2018-01-09 18:50:54 +08:00 1
@mochanight 1L 的意思是,re.matches 返回值就是 list,你 print 的话就有大括号
`Return all non-overlapping matches of pattern in string, as a list of strings.` 你遍历这个列表就是了 空的话就是没 match 到 |
5
AlisaDestiny 2018-01-09 18:53:15 +08:00 1
你一定没有看文档。
re.findall()返回的是一个所有匹配的列表。如果你确定最多只会匹配到一个,你就直接判断是否为 None,然后取 matchs[0] |
6
mochanight OP = = 现在直接这样了 解决了
if matches == []: matches = "" else: print(matches[0]) |
7
flym0te 2018-01-09 18:54:05 +08:00 via Android 1
print(matches[0])试下
|
8
frostming 2018-01-10 10:49:47 +08:00
看你的意思,空是空字符串的意思吗?那就:
print(matches and matches[0] or '') 不过可以一开始就不返回列表: matches = re.search('(?:<imgUrl>)(.*?)(?:</imgUrl>)',response.text).group(1) print(matches) |
9
vxoge 2018-01-10 16:13:01 +08:00
print(matches[0])
|