python - 一年后匹配点并将其删除
问题描述
我正在寻找一个正则表达式来删除字符串中一年后的所有点。
我知道我可以使用目标年份和年份间隔
\s*\d{4}(?:\s*-\s*\d{4})?
但是我如何只捕获点?
例如,如果我有“ABCD 2009. DEF”,我想获得“ABCD 2009 DEF”
解决方案
您可以使用捕获组包装您拥有的模式并在\.+
其后添加(以匹配一个或多个点)并替换为\1
(将年份放回结果字符串中):
re.sub(r'(\s*\d{4}(?:\s*-\s*\d{4})?)\.+', r'\1', s)
请参阅正则表达式演示。
推荐阅读
- html - 如何在固定宽度的 div 中并排放置图像
- python - 如何获取两个文件之间的相对(“../x”)路径?
- javascript - 检查网页是否包含不定式滚动?
- javascript - 在测试承诺拒绝时,在将 Mocha 与 chai-as-promised 一起使用时获得“不是一个 thenable”
- java - Drools:访问 ArrayList 作为 Map 中的值
- angular - 将新版本的 Angular App 部署到 AWS S3
- html - VBA:在基于 Web 的 Outlook 中填写输入
- rabbitmq - Stripe Billing 或使用队列
- javascript - json.parse 被赋予 undefined:1
- php - Laravel:没有默认值 - 带有 Faker 的 KeyProduct