Python 弃用警告:无效的转义序列-使用什么来代替\d?

Python 弃用警告:无效的转义序列-使用什么来代替\d?,python,regex,python-3.x,Python,Regex,Python 3.x,Python 3.6.5中的re模块遇到了一个问题。 我的正则表达式中有以下模式: '\\nRevision: (\d+)\\n' 但是当我运行它时,我会得到一个弃用警告 我搜索了,但实际上还没有找到答案-我应该用什么来代替\d+?只是[0-9]+或者其他什么?Python 3将字符串文字解释为Unicode字符串,因此您的\d被视为转义Unicode字符 通过在r前面加上前缀,将正则表达式模式声明为原始字符串,如下所示: r'\nRevision: (\d+)\n' 这也意味着您可以删除\

Python 3.6.5中的
re
模块遇到了一个问题。 我的正则表达式中有以下模式:

'\\nRevision: (\d+)\\n'
但是当我运行它时,我会得到一个
弃用警告


我搜索了,但实际上还没有找到答案-我应该用什么来代替
\d+
?只是
[0-9]+
或者其他什么?

Python 3将字符串文字解释为Unicode字符串,因此您的
\d
被视为转义Unicode字符

通过在
r
前面加上前缀,将正则表达式模式声明为原始字符串,如下所示:

r'\nRevision: (\d+)\n'

这也意味着您可以删除
\n
的转义符,因为这些转义符将被
re

解析为换行符。这应该不是问题,提供更多的代码?双转义
\d
或使用
r'\\n转义:(\d+\\n'
),更精确一点,
\d
被视为无法识别的转义序列,因此保持不变。Python3.6之后给出了一个弃用警告。在Python的未来版本中,它将是一个语法错误。文档中“2.4.1.String和Bytes literals”的详细信息。@VPfB该线程很旧,但我正在寻找同一问题的答案。如果将\d视为转义的Unicode字符,如何区分d(字母字符)和\d(任何数字),而不将正则表达式模式视为原始字符串?(相同的问题适用于\w、\w等。)@ggg如果我正确理解了您的问题-请转义您的反斜杠,这样字符串将读取
'\\d'
。这也适用于
\s
和其他转义字符