【发布时间】:2016-06-03 20:27:40
【问题描述】:
我正在 Python 3 中构建图像链接。我得到了一个基本的起始链接,并且我得到了一个或多个元素,这些元素需要根据与该原始链接相关联的模式来切换以创建我的新图像关联。我得到了链接和元素,我可以将每个链接类型与我可以存储在数据库中的模式联系起来。我正在寻找的是创建模式以切换数据的最佳方式。
例如: 我得到的第一个链接是:https://testurl.com/images/320/new.jpg 我得到一个 450 的值,并且模式规定应该将 450 换成 320 以创建一个新链接:https://testurl.com/images/450/new.jpg。
我得到的第二个链接是http://newurl.com/stuff/image.jpg?resize=100 我被赋予了 200 的值,并且模式要求 200 需要替换 100 以创建 http://newurl.com/stuff/image.jpg.resize=200 的新链接
我得到的第三个链接是http://anotherlink.com/01/02/2016/today/newfolder/image.jpg 我得到一个字符串 02/15/2016 需要用 01/02/2016 换出,还有一个 oldfolder 字符串需要用新文件夹换出给我一个http://anotherlink.com/02/15/2016/today/oldfolder/image.jpg的链接
有没有办法存储可以处理所有 3 种不同场景的模式?同样,我可以为每个模式设置一个独特的模式,我只需要相同的代码就能成功执行所有 3 个模式。
我想我可以使用正则表达式来做到这一点,并且我过去已经使用它进行了验证,但我不确定是否有一种方法可以根据模式实际更改部分字符串,而不仅仅是匹配。
我的另一个想法是创建一个模板并执行查找和替换循环,直到所有替换元素都被换掉,但这看起来很混乱。有什么建议吗?
【问题讨论】:
-
"https://testurl.com/images/320/new.jpg".replace("320", "450")
标签: regex python-3.x pattern-matching