繁体   English   中英

正则表达式 - 如何消除python中的某些模式

[英]Regular expression - How to eliminate certain pattern in python

我有一些文章包含诸如 13-9、34-12、22-10 之类的匹配分数,我想使用正则表达式提取这些分数以在 Python 中查找模式。 re.compile(r'[0-9]+-[0-9]')有效,但如何修改以消除 1999-06, 2020-01? 我试过re.compile(r'[0-9]{1,2}-[0-9]')但那些年份值返回为 99-06 这在我的情况下也是无效的。

您可以匹配查看断言所需的确切位数,而不是对日志编号进行切片,如下所示

(?<!\d)\d{2}-\d{1,2}

演示

您可以避免在数字中间匹配

r'(?<!\d)[0-9]{1,2}-[0-9]'

负向后视禁止在另一个数字之后立即匹配。

也许还添加

(?!\d)

在比赛结束时施加类似的限制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM