Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从请求-响应中查找以单词开头的完整字符串_Python_Regex_Python Requests_Re - Fatal编程技术网

Python 从请求-响应中查找以单词开头的完整字符串

Python 从请求-响应中查找以单词开头的完整字符串,python,regex,python-requests,re,Python,Regex,Python Requests,Re,如何从请求对象获取与单词匹配的完整行 例如,我有response=request.get(url)和print(response.text),假设输出有以下几行,我试图获取以file\u path开头的完整单词,预期结果为“file\u path:/opt/temp” 用户:abcd 搜索文件:f-abc-123 文件路径:/opt/temp 分支机构:开发 电邮至:abc@gmail.com 版本:1.10.00 下面是我的代码,它似乎不起作用 import re import request

如何从请求对象获取与单词匹配的完整行

例如,我有response=request.get(url)和print(response.text),假设输出有以下几行,我试图获取以file\u path开头的完整单词,预期结果为“file\u path:/opt/temp”

用户:abcd
搜索文件:f-abc-123
文件路径:/opt/temp
分支机构:开发
电邮至:abc@gmail.com
版本:1.10.00

下面是我的代码,它似乎不起作用

import re
import requests
response=request.get("https://artifactory.com",header=(..),verify=False)
res=re.search(r'file_path\w+',response.text)
print(res.group(0))
我得到的输出:
文件路径

预期输出:
文件路径:/opt/temp

试试这个

<代码> >直到新行(\n)命中,考虑所有字符。 res=re.search(r'file_path[^\n]+',response.text) 打印(资源组(0)) 输出:“文件路径:/opt/temp”


如果您真的想逐行解析,并确保获得与字符串匹配的整行,那么您可以将文本输出沿换行线拆分,并检查每一行是否有您想要的文本

r = requests.get("https://artifactory.com",header=(..),verify=False)
lines = r.text.split('\n')
for line in lines:
  if 'file_path' in line:
    print(line)
但是,如果您返回的数据是json格式的,我怀疑这可能是您上面描述的,那么您肯定应该利用json格式来处理它,而不是逐行解析。您可以在json响应中引用文件路径的键,如

r = requests.get("https://artifactory.com",header=(..),verify=False)
data = r.json()
print('file_path: ' + data['file_path'])

这些方法不需要正则表达式。如果您知道您正在处理json响应,而不仅仅是未知格式的文本响应,那么json方法是最好的。

添加您的输出和预期输出,并检查您的URL架构。尝试
res=re.search(r'file\u path:.*',item)。组(0)
@klauds。对我来说,这看起来像是一种结构化的反应。您可以打印response.json()并键入(response.json())并查看这是否是一个dict吗?如果是,那么您只需通过密钥访问即可。谢谢!我会试试的。我试过第一种方法,效果很好。非常感谢。