检查年份是否在字符串中(连续4个数字)

问题描述 投票:4回答:2

如何查找列表中的字符串是否包含年份(例如1999)。我想我会检查四个连续的数字,例如:[1-2][0-9][0-9][0-9]

如何对照清单检查?这是我已经尝试过的内容

for piece in reflist:
    if "\d{4}" in piece:
        # Do something

for piece in reflist:
    if re.match('\d{4}', piece):
        print piece + '\n'
python list match
2个回答
9
投票

您想使用re.search()测试输入字符串中的匹配项[[anywhere。

为了更精确地匹配(最近的)年份,您可以使用:

re.search(r'[12]\d{3}', piece)

将匹配从1000到2999的任何内容。

0
投票
虽然'\d{4}'r'[12]\d{3}'都将返回连续的4位数字,但它们也将返回较大数字的前4位,例如199999。

[要像1999的OP示例一样出现年份,请用\s包裹表达式,该字符将与空格字符匹配。

r'\s[12]\d{3}\s'

© www.soinside.com 2019 - 2024. All rights reserved.