在python中使用负先行regex替换缺少的\')\'时出错

2021-01-08 20点热度 0人点赞 0条评论

我想查找丢失的')并将它们与re.sub一起添加,但在使用否定的looka ahead时会得到奇怪的结果:

a='D, M, departementsråd (fr.o.m. 2018-11-22 t.o.m. 2021-09-30 E, A, chef för Statens haverikommission (fr.o.m. 1997-07-01 t.o.m. 1997-09-07)'
re.sub(r'(t\.o\.m\.\s*\d{4}-\d{1,2}-\d{1,2})(?!\))',r'\1\)',a)

结果:

D, M, departementsråd (fr.o.m. 2018-11-22 t.o.m. 2021-09-30\\) E, A, chef för Statens haverikommission (fr.o.m. 1997-07-01 t.o.m. 1997-09-0\\)7)

我想要的:

D, M, departementsråd (fr.o.m. 2018-11-22 t.o.m. 2021-09-30) E, A, chef för Statens haverikommission (fr.o.m. 1997-07-01 t.o.m. 1997-09-0)

我想在 ) 身上加上失踪的 t.o.m. 2021-09-30 ,但这行不通。

查看隐藏内容需要支付:¥1
查看

未经允许不得转载!在python中使用负先行regex替换缺少的\')\'时出错

本文地址:https://ans.52learn.online/2160

ANS52LEARN

DO BEST