簡體   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