如何通过Regex在melds前添加api字符生成目标URL?
解决方法
原代码的问题在于第二个正则替换逻辑完全错误——原URL中不存在api字符串,所以这步替换根本不会生效,而且方向搞反了。要实现目标URL,只需两步正则替换即可:
import re text = 'https://app.propertymeld.com/1568/v/23256/meld/4376491/' # 替换/meld/为/api/melds/,直接在melds前插入api processed = re.sub(r'/meld/', r'/api/melds/', text) # 在末尾的数字路径后追加/tenant-files/ final_url = re.sub(r'(\d+/)', r'\1tenant-files/', processed) print(final_url)
关键说明
- 第一个正则
/meld/精准匹配原URL中的/meld/片段,替换为/api/melds/,直接满足“在melds前添加api”的核心需求。 - 第二个正则
(\d+/)捕获末尾的数字加斜杠的路径段,通过反向引用\1保留原内容,再追加tenant-files/,补全目标URL的最后部分。
如果想一步完成替换,也可以用单个正则匹配/meld/前后的内容,一次性替换:
import re text = 'https://app.propertymeld.com/1568/v/23256/meld/4376491/' final_url = re.sub(r'(/meld/)(\d+/)', r'/api/melds/\2tenant-files/', text) print(final_url)
内容的提问来源于stack exchange,提问作者Ajay
相关产品推荐
相关产品推荐

