我正在尝试从网络请求中正确提取一些cookie。 基本上我有这个字符串:
str="""Cole_gal_langid=0; Expires=Sun, 14-Jul-13 20:37:22 GMT, Cole_gal_styleid=4; Expires=Sun, 14-Jul-13 20:37:22 GMT, Cole_gal_viewid=test; Expires=Sun, 14-Jul-13 20:37:22 GMT, Cole_gal_appid=gal; Expires=Sun, 14-Jul-13 20:37:22 GMT, Cole_gal_navk=common.invalidBookmark; Expires=Sun, 14-Jul-13 20:37:22 GMT, Cole_gal_trans=InvalidBookmark; Expires=Sun, 14-Jul-13 20:37:22 GMT"""
我想删除此字符串中的所有“Expires=Sun, 14-Jul-13 20:37:22 GMT”条目。 所以这个字符串变成这样:
str="""Cole_gal_langid=0; Cole_gal_styleid=4; Cole_gal_viewid=test; Cole_gal_appid=gal; Cole_gal_navk=common.invalidBookmark; Cole_gal_trans=InvalidBookmark;"""
我正在考虑使用 Re 来实现此目的:
import re
str="""Cole_gal_langid=0; Expires=Sun, 14-Jul-13 20:37:22 GMT, Cole_gal_styleid=4; Expires=Sun, 14-Jul-13 20:37:22 GMT, Cole_gal_viewid=test; Expires=Sun, 14-Jul-13 20:37:22 GMT, Cole_gal_appid=gal; Expires=Sun, 14-Jul-13 20:37:22 GMT, Cole_gal_navk=common.invalidBookmark; Expires=Sun, 14-Jul-13 20:37:22 GMT, Cole_gal_trans=InvalidBookmark; Expires=Sun, 14-Jul-13 20:37:22 GMT"""
a = re.search('(Cole_gal_*.\=*)[^;]*', str)
if a:
quote = "Regex found this: "+a.group(0)+"\r\n"
print quote
不幸的是,我只得到一个结果,而不是所有实际的 cookie
任何帮助或建议将不胜感激。
谢谢!
最佳答案
删除 re.sub 作业中多次出现的模式:
>>> re.sub(r'Expires=.*?GMT([,;]|$)', '', s)
'Cole_gal_langid=0; Cole_gal_styleid=4; Cole_gal_viewid=test; Cole_gal_appid=gal; Cole_gal_navk=common.invalidBookmark; Cole_gal_trans=InvalidBookmark; '
关于python正则表达式多重查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11487328/