我在Python3.6.5中遇到了re模块的问题. 我的正则表达式中有以下模式:

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

但当我运行它时,我得到了DeprecationWarning分.

我搜索了the problem on SO,但实际上还没有找到答案——我应该用什么来代替\d+?就[0-9]+块还是别的什么?

推荐答案

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

将正则表达式模式声明为原始字符串,而不是在r前加前缀,如下所示:

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

这也意味着您也可以删除\n的转义,因为re只会将这些转义解析为换行符.

Python相关问答推荐

如何在WTForm中使用back_plumates参考brand_id?

带有Postgres的Flask-Data在调用少量API后崩溃

想要使用Polars groupby_Dynamic来缩减时间序列收件箱(包括空垃圾箱)

Python中使用Delivercio进行多个请求

如何让pyparparsing匹配1天或2天,但1天和2天失败?

在matplotlib动画gif中更改配色方案

跟踪我已从数组中 Select 的样本的最有效方法

比较两个二元组列表,NP.isin

标题:如何在Python中使用嵌套饼图可视化分层数据?

不理解Value错误:在Python中使用迭代对象设置时必须具有相等的len键和值

如何在虚拟Python环境中运行Python程序?

OR—Tools中CP—SAT求解器的IntVar设置值

在pandas中使用group_by,但有条件

Scrapy和Great Expectations(great_expectations)—不合作

Python逻辑操作作为Pandas中的条件

可以bcrypts AES—256 GCM加密损坏ZIP文件吗?

基于行条件计算(pandas)

Maya Python脚本将纹理应用于所有对象,而不是选定对象

为什么在FastAPI中创建与数据库的连接时需要使用生成器?

Cython无法识别Numpy类型