我正在尝试使用正则表达式从.txt文件中提取网址(所有网址都以.jpeg结尾)。这是我的正则表达式:
import re
output = re.findall('(http)(.*?)(jpeg)', text)
但我的输出如下:
('http', ://d1spq65clhrg1f.cloudfront.net/uploads/image_request/image/182/182382/182382534/cloudsight.', 'jpeg')
如何避免使用逗号分隔匹配?
答案 0 :(得分:1)
试试这个
import re
output = re.findall('(http.*?jpeg)', text)
输出:
['http://d1spq65clhrg1f.cloudfront.net/uploads/image_request/image/182/182382/182382534/cloudsight.jpeg']
这将使“re.findall”仅捕获一个组 - “http。*?jpeg”,而不是正则表达式中的三个。
答案 1 :(得分:0)
我不确定你是否在寻找这个
import re
output = " ".join(re.findall('(http)(.*?)(jpeg)', text))
答案 2 :(得分:0)
import re
with open("urls.txt") as f:
urls = re.findall('(http*.*?jpeg)', f.read())
print urls
答案 3 :(得分:0)
output = re.findall('https?:.*?.jpeg', text)
实施例
import re
text=" asdd adf sdf sf http://d1spq65clhrg1f.cloudfront.net/uploads/image_request/image/182/182382/182382534/cloudsight.jpeg asfd ads f ads asdfadfasf asd asdf asdf asdf as"
output = re.findall('https?:.*?.jpeg', text)
print(output)
<强>输出继电器:强>