【发布时间】:2016-07-19 20:01:30
【问题描述】:
我正在尝试使用以下代码从站点响应 http://app.lotto.pl/wyniki/?type=dl 中删除数字
import requests
import re
url = 'http://app.lotto.pl/wyniki/?type=dl'
p = re.compile(r'[^\d{4}\-\d{2}\-\d{2}]\d+')
response = requests.get(url)
data = re.findall(p, response.text)
print(data)
但是我得到的是['\n7', '\n46', '\n8', '\n43', '\n9', '\n47'] 而不是['7', '46', '8', '43', '9', '47'] 我怎样才能摆脱"\n"?
【问题讨论】:
-
你把一个序列放到一个字符类中,这意味着你不确定你写的模式是什么意思。你的意图是什么?
-
data = [x.strip() for x in re.findall(p, response.text)] -
@WiktorStribiżew 只想从网站获取数字,但简单的响应如下所示:2016-03-29 7 46 8 43 9 47
-
来吧,你为什么不直接使用
re.findall(r'(?<!-)\b\d+\b(?!-)', response.text)?见demo。 -
谢谢。我只是业余爱好者,所以我还在学习。
标签: regex python-3.x python-requests newline