Python如何用正则提取括号内匹配min/mins的指定文本
Python正则提取括号内含min/mins内容的实现方案
核心正则规则
使用正则\(([^)]*\bmins?\b[^)]*)\)即可精准匹配符合要求的内容,规则拆解:
\(匹配左括号边界[^)]*匹配任意非右括号的字符,避免跨括号匹配\bmins?\b整词匹配min或mins:s?表示s字符可选,\b单词边界可以避免误匹配minimum、admin这类包含min字符但无关的词汇- 括号包裹的捕获组会直接返回括号内部的目标内容,不会带上左右括号本身
可直接运行的代码示例
import re # 待处理的示例文本 test_text = """ - Closing words (3 min.) - Demonstration (Part One) """ # 提取所有符合规则的括号内容 raw_matches = re.findall(r'\(([^)]*\bmins?\b[^)]*)\)', test_text) # 可选清洗步骤:去除内容里的标点(比如min后面的句号)、首尾空格 result = [re.sub(r'[^\w\s]', '', item).strip() for item in raw_matches] print(result) # 输出结果:['3 min']
匹配效果说明
上述实现会自动过滤
(Part One)这类不含min/mins的括号内容,同时兼容多种常见时长格式:比如(2 mins)、(8 min 左右)、(15 mins.)这类带标点、带附加描述的场景都能正常命中。
内容的提问来源于stack exchange,提问作者Leonardo Esquivel
相关产品推荐
相关产品推荐

