将url转换为仅限regex的用户名和密码

2024-05-16 22:10:50 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能告诉我如何转换只有用户名和密码的链接与regex??你知道吗

link = 'http://test.ddns.net:8000/get.php?username=9OsSVedOky&password=Oz2Vmx9GuW&type=list&output=tr'
url = 'http://test.ddns.net:8000/get.php?username=[a-zA-Z]|[0-9]|[$-_@.&+]|&password=[a-zA-Z]|[0-9]|[$-_@.&+]|&type=list&output=tr'
urls = re.findall(url, link)`

抱歉,如果我没有使用正确的术语,但我是新的编码。你知道吗

谢谢


Tags: testhttpurloutputgetnettypelink
1条回答
网友
1楼 · 发布于 2024-05-16 22:10:50

一般来说,用正则表达式解析url是个坏主意,尤其是当你对语法掌握得很差的时候。如果你必须这样做(唯一好的理由是因为你被告知要这样做),那么

>>> import re
>>> rx=re.compile(r"username=(?P<username>[^&]+).*password=(?P<password>[^&]+)")
>>> m = rx.search(link)
>>> m.groupdict()['username']
'9OsSVedOky'
>>> m.groupdict()['password']
'Oz2Vmx9GuW'

但我赞同罗温的建议。更好的是:

>>> import urllib
>>> qsp=urllib.parse.parse_qs(link.partition('?')[2])
>>> qsp['username']
['9OsSVedOky']
>>> qsp['password']
['Oz2Vmx9GuW']

相关问题 更多 >