gpt4 book ai didi

regex - 如何使用正则表达式格式化 f 字符串?

转载 作者:行者123 更新时间:2023-12-01 11:35:38 25 4
gpt4 key购买 nike

我有一些字符串,它们最初用加号连接并包含正则表达式字符串。下面是一个例子:

"Level 4: " + re.sub(r"(\w)([A-Z])", r"\1 \2", talents[1]) + "\n\n"

但是,我一直想使用更合适的格式。我对 f 弦做了一些研究,我想在这里使用它们。我是这样试的:
f'Level 4: {re.sub(r"(\w)([A-Z])", r"\1 \2", talents[1])} \n\n'

然而,我的编辑正在对我咆哮关于带有反斜杠的表达式片段。在这种情况下,f-strings 不是适合这项工作的工具吗?

编辑:
根据@jwodder 的要求,这是我从 Python 中得到的错误(我在 3.6 上)
SyntaxError: f-string expression part cannot include a backslash

最佳答案

您不能在 f 字符串中插入带有反斜杠的表达式,目前是 a restriction by design .您可以将其分为两个语句:

subst = re.sub(r"(\w)([A-Z])", r"\1 \2", talents[1])
msg = f'Level 4: {subst} \n\n'

(旁注:目前有一个提议( PEP 536 )放宽此类限制以使原始代码按预期工作,但尚未被接受或实现。)

关于regex - 如何使用正则表达式格式化 f 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51308195/

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