gpt4 book ai didi

带有 re.search 的 python re.sub 没有按预期工作

转载 作者:太空宇宙 更新时间:2023-11-04 03:43:02 25 4
gpt4 key购买 nike

我正在尝试使用时间戳生成输出文件名和路径。所有部分都按预期工作,但 re.sub 没有给我想要的结果。我在这里做错了什么?

>>> a = r'\output\End-of-Day\{%Y\%m\%d\UINVDEFF securities %m.%d.%Y}.xlsx'
>>> b = re.search(r'(?P<timestamp>\{[^}]*(%[A-Za-z])[^{]*\})', a)
>>> b.group('timestamp')
'{%Y\\%m\\%d\\UINVDEFF securities %m.%d.%Y}'

>>> now
datetime.datetime(2014, 8, 18, 11, 43, 47, 55000)

>>> now.strftime(b.group('timestamp'))[1:-1]
'2014\\08\\18\\UINVDEFF securities 08.18.2014'

>>> re.sub(b.group('timestamp'), now.strftime(b.group('timestamp'))[1:-1], a)
'\\output\\End-of-Day\\{%Y\\%m\\%d\\UINVDEFF securities %m.%d.%Y}.xlsx'

期望'\output\End-of-Day\2014\08\18\UINVDEFF securities 08.18.2014.xlsx'

最佳答案

re.sub调用将其第一个参数解释为正则表达式模式:

{%Y\\%m\\%d\\UINVDEFF securities %m.%d.%Y}

如果您只想用字符串中的另一个子字符串替换子字符串,请使用 string.replace :

a.replace(b.group('timestamp'), now.strftime(b.group('timestamp'))[1:-1])

关于带有 re.search 的 python re.sub 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25367958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com