使用 re.sub 替换模式

Use re.sub to replace a pattern

我有一个如下所示的文本文件:

6-9 867-873 Social  Project[4]  
6-10    874-882 Contract    Project[4]  
6-11    883-887 Core    Project[4]  
6-12    888-889 (   _   
6-13    889-892 SCC Project 

我试图将所有“project”和“project[x]”替换为 o 通过使用以下代码:

newline2 = re.sub(r"Project\[\d+\]","o",newline)

只有项目[x] 被替换为 o,而不是“项目”, 无论如何我也可以替换“项目”吗?

您可以使用组将最后一部分设为可选,?:

re.sub(r'Project(\[\d+\])?', 'o', newline)