python检查年份是否为字符串

2024-04-27 04:18:03 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个句子列表,其中许多包含数字(但不是全部):

mylist = [
"The current year is 2015 AD.",
"I have 2 dogs."
...
]

我想知道列表中的哪些元素包含有效年份(比如1000到3000之间)。我知道这是一个regex问题,我发现了一些帖子(例如this one)可以检测字符串中的数字,但全年都没有。有regex巫师吗?


Tags: the元素列表ishave数字currentyear
3条回答

下面是一个简单的解决方案:

import re
mylist = [] # init the list
for l in mylist:
    match = re.match(r'.*([1-3][0-9]{3})', l)
    if match is not None:
        # Then it found a match!
        print match.group(1)

这将检查1000到3999之间是否有4位数字

听起来你在找一个正则表达式,它会找到4位数字,其中第一位数字在1&3之间,接下来的3位数字在0和9之间,所以我认为你在找这样的东西

[1-3][0-9]{3}

如果你想接受包含这个的字符串,你可以

.*([1-3][0-9]{3})

好吧,一年可能是很多事情。最常见的是4位数长是的,但它只是一个数字。如果您想要从1000到9999的所有年份,您可以使用这个regex:([1-9][0-9]{3}),但是要匹配您需要的范围:([1-2][0-9]{3}|3000)

相关问题 更多 >