一个正则表达式(取决于具体的语法)!?
例如:
m = re.match('mysql://(.*?):(.*?)@(.*?)/(.*)', url)
Run Code Online (Sandbox Code Playgroud)
应该在组 1 到 4 中为您提供用户、密码、主机和数据库:
print(m.groups())
Run Code Online (Sandbox Code Playgroud)
或者在一行中:
user, password, host, database = re.match('mysql://(.*?):(.*?)@(.*?)/(.*)', url).groups()
Run Code Online (Sandbox Code Playgroud)
对于python 2,您可以使用urlparse:
from urlparse import urlparse
r = urlparse('mysql://alex:pwd@localhost/test')
print(r.username)
# 'alex'
print(r.password)
# 'pwd'
Run Code Online (Sandbox Code Playgroud)