我有一个代码循环遍历网址列表进行一些操作,但输入的网址必须包含查询字符串,我想首先检查网址是否正确,实际上是否包含查询字符串,我搜索了大部分内容正则表达式我发现只检查网址,我发现最接近的解决方案是使用像这样的urlparse
#!/usr/local/bin/python2.7
from urlparse import urlparse
line = "http://www.compileonlinecom/execute_python_online.php?q="
o = urlparse(line)
print o
# ParseResult(scheme='http', netloc='www.compileonlinecom', path='/execute_python_online.php', params='', query='q=', fragment='')
if (o.scheme=='http' and o.query!=''):
print "yes , that is a url with query string "
else:
print "No match!!"
但我想知道是否可以使用更稳固的正则表达式来完成
答案 0 :(得分:0)
您可以尝试在问号上验证它,因为每个带参数的网址都应在网址中包含问号。
示例:
sites = ['site.com/index.php?id=1', "xyz.com/sf.php?df=22", "dfd.com/sdgfdg.php?ereg=1", "normalsite.com"]
for site in sites:
if "?" in site:
print site
结果:
site.com/index.php?id=1
xyz.com/sf.php?df=22
dfd.com/sdgfdg.php?ereg=1
您看到没有参数的网站尚未打印。