如何使用python将url中的现有日期更改为当前日期



我写了下面的代码将今天的日期替换为URL中的现有日期,但是输出有三次打印今天的日期,但我只想在那里打印一个。

import re
today = (date.today().strftime("%d_%m_%Y"))
print(today)
url = 'https://demo/ApiInstruments_FNO_06_08_2021.txt'
new=re.sub(r'd+',today,url)
print(new)

输出为:https://demo/ApiInstruments_FNO_08_08_2021_08_08_2021_08_08_2021.txt

你的正则表达式匹配任何非零数字,所以它在你的例子中匹配三个不同的时间:在06、08和2021,并将这些数字中的每一个替换为你计算的日期。

通过使正则表达式匹配URL中的完整日期来修复此问题,例如通过匹配以下划线分隔的三个数字:

new=re.sub(r'd+_d+_d+',today,url)

然而,你需要确保这只匹配日期(即没有其他场景,三个下划线分隔的数字可以在URL中),或者找到另一个模式,正确匹配日期-只有日期。

最新更新