【发布时间】:2021-04-28 19:15:28
【问题描述】:
我正在尝试编写一个正则表达式来提取某事的剩余时间,可以是几天、几个月或几年。
例如,有一句话-“该产品的外壳寿命为 21 天或 21(二十一)天或二十一天或 21 个月、21 年或五天或 5(五)天或五 (5) 天或五 (5) 天。”
我知道这是一个有趣的句子,但重点是我想提取上面句子中的持续时间。
我写了一个正则表达式(?:\w*\-?\w*\s*\(\s*\d+\s*\w*\)\s*\w*|\b\d*\s+\w*\d*)\s*(?:year|month|day)s?,但它没有提取 5(五)天或数字后跟(单词)的持续时间。任何人都可以帮助使用正则表达式吗?
提前致谢
【问题讨论】:
-
我想出了`"((?:\d+(?:\s([a-z-]+))?|[a-z-]+(?:\s?(\d+) )?)\s(?:year|month|day)s)" 与您的样本数据匹配。你会得到很多误报。例如,“美好的日子,美好的岁月”、“我们最好的月份之一”。
标签: python python-3.x regex regex-group