【发布时间】:2021-10-15 10:33:54
【问题描述】:
在下面的字符串中,我试图获取子字符串(2005, Penguin Classics) 子字符串。
Marshall B. Rosenberg 博士 - Anger_ Beyond 的惊人目的 愤怒管理_寻找礼物(非暴力沟通指南) (2005,企鹅经典)AAA.pdf
我这样做是为了将子字符串更改为 (2005)。
以下是我当前的解决方案,但它同时匹配 (Nonviolent Communication Guides) 和 (2005, Penguin Classics)。有关如何解决此问题的任何想法?
import re
parentheses_pattern = "\(([^)]+)\)*$"
reg = re.search(parentheses_pattern, filename)
year = reg.group()
year = year[:5]+")"
filename = re.sub(parentheses_pattern,year,filename)
【问题讨论】:
标签: python regex pattern-matching regex-lookarounds regexp-replace