首页 > 解决方案 > 通过向正则表达式添加一些东西来修改另一个正则表达式

问题描述

我正在尝试使用替换来修改我的正则表达式。最终想要做的是在我现有的模式前面添加01/ 。它是用另一个模式替换一个模式。这是我正在做的替换:

 df['found_d'].str.replace(pattern2, '1/'+pattern2)
 #must be str, not _sre.SRE_Pattern

我想使用sub它需要 3 个参数,目前我不太确定如何使用它。这是预期的输入:

 df['found_d']= 01/07/91 or 01/07/1991

我需要在我的模式中添加一个缺失的日期。

标签: pythonregexpandas

解决方案


不需要可调用对象,re提供在替换期间访问匹配文本的专用方法。

为了将文字附加01/到模式匹配,请使用\g<0>对替换模式中整个模式的明确反向引用,而不是使用正则表达式模式:

df['found_d'] = df['found_d'].str.replace(pattern2, r'01/\g<0>')
                                                    ^^^^^^^^^^^

推荐阅读