Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.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 - Fatal编程技术网

Python 从文本文件中提取不同的链接?

Python 从文本文件中提取不同的链接?,python,regex,Python,Regex,我的问题是,我有一个非结构化的.txt文件,如下所示,其中包含不同的链接,因为每个链接中都有一个签名: 我想要的是提取以http://web.alphorm.com开头的所有链接 我使用了如下所示的正则表达式: matchObj = re.findall(r'(http:// web.alphorm.com/.*&Key-Pair-Id=APKAJF2PMCJPGKXG2GEA)"}', string) 但它并没有真正给我想要的。它缩小了文

我的问题是,我有一个非结构化的.txt文件,如下所示,其中包含不同的链接,因为每个链接中都有一个签名:

我想要的是提取以http://web.alphorm.com开头的所有链接

我使用了如下所示的正则表达式:

matchObj = re.findall(r'(http:// web.alphorm.com/.*&Key-Pair-Id=APKAJF2PMCJPGKXG2GEA)"}',
                      string)
但它并没有真正给我想要的。它缩小了文本文件,并给我搜索的链接,但与其他不受欢迎的链接和文本


有什么问题吗?

您的正则表达式中的
*
贪婪的,这意味着解析引擎将匹配
http://web.alphorm.com/第一次匹配的
,以及最后一次匹配的
密钥对Id=APKAJF2PMCJPGKXG2GEA
,以及介于两者之间的所有内容

试试这个:

matchObj = re.findall(r'(http://web.alphorm.com/.*?&Key-Pair-Id=APKAJF2PMCJPGKXG2GEA)"}',string)
添加
将使匹配尽可能少地延迟


注意:我还删除了
http://
web.alphorm.com
之间的空格,因为我认为这是一个打字错误。

请发布一篇文章,你真的在
http://
web.alphorm.com
之间有空格吗?请回答你的问题,并从文本文件中输入一些实际的样本数据。你试过用那种方式解析它吗?