Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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 3.x 如何获取url的某些部分_Python 3.x - Fatal编程技术网

Python 3.x 如何获取url的某些部分

Python 3.x 如何获取url的某些部分,python-3.x,Python 3.x,我有一个包含“#/mail_detail?mail_id=16e7e90049d734ed&_k=iddh5c”的url,我想从中存储mail_id的值,直到和 使用python有一种简单的方法吗?您可以使用正则表达式(relibrary)来查找字符串邮件id和字符之间的所有字符 import re url = '#/mail_detail?mail_id=16e7e90049d734ed&_k=iddh5c' print(re.findall(r'mail_id=(.*&)',

我有一个包含
“#/mail_detail?mail_id=16e7e90049d734ed&_k=iddh5c”
的url,我想从中存储
mail_id
的值,直到


使用python有一种简单的方法吗?

您可以使用正则表达式(
re
library)来查找
字符串
邮件id
字符之间的所有字符

import re
url = '#/mail_detail?mail_id=16e7e90049d734ed&_k=iddh5c'
print(re.findall(r'mail_id=(.*&)', url))

*
匹配除

之外的任何数量的字符。您可以使用re库轻松进行提取。 假设您的url数据类型是字符串,下面是执行此操作的简单代码:

import re
url = "#/mail_detail?mail_id=16e7e90049d734ed&_k=iddh5c"
result = re.search("mail_id=(.*)&_k", url)
print(result.group(1))
请注意,使用命令:

result = re.search("_id=(.*)&_k", url)

也将产生相同的结果,但如果字符串包含多个出现“\u id”的实例,则可能是不明确的情况,输出可能不同。为了确保100%的正确结果,您最好包含更确定的字符串关键字,以便提取文本。

有很多可能性。您可以使用URL解析器模块,也可以自己使用
re
模块将其从
str
中拉出,或者只处理字符串。在我看来,使用
str
比使用模块
re
更快。
re
模块更适合于长文本的复杂操作。在这里,您可以找到使用
re
模块或
str
模块的答案:在这里,您可以找到
urllib.parse
模块的手册: