【发布时间】:2018-12-20 20:03:22
【问题描述】:
我有一些字符串最初与加号连接并包含正则表达式字符串。这是一个例子:
"Level 4: " + re.sub(r"(\w)([A-Z])", r"\1 \2", talents[1]) + "\n\n"
但是,我一直想使用更正确的格式。我对 f-strings 做了一些研究,我想在这里使用它们。我是这样尝试的:
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
【问题讨论】:
-
谁在乎你的文本编辑器是否在抱怨? Python 在抱怨吗?
-
你可以使用 f-strings,并不意味着你必须。特别是使用正则表达式时,将匹配和格式化的关注点分离到不同的行可能更具可读性。
标签: regex python-3.x f-string