2024-04-27 04:18:03 发布
网友
假设我有一个句子列表,其中许多包含数字(但不是全部):
mylist = [ "The current year is 2015 AD.", "I have 2 dogs." ... ]
我想知道列表中的哪些元素包含有效年份(比如1000到3000之间)。我知道这是一个regex问题,我发现了一些帖子(例如this one)可以检测字符串中的数字,但全年都没有。有regex巫师吗?
下面是一个简单的解决方案:
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)
([1-9][0-9]{3})
([1-2][0-9]{3}|3000)
下面是一个简单的解决方案:
这将检查1000到3999之间是否有4位数字
听起来你在找一个正则表达式,它会找到4位数字,其中第一位数字在1&3之间,接下来的3位数字在0和9之间,所以我认为你在找这样的东西
如果你想接受包含这个的字符串,你可以
好吧,一年可能是很多事情。最常见的是4位数长是的,但它只是一个数字。如果您想要从1000到9999的所有年份,您可以使用这个regex:
([1-9][0-9]{3})
,但是要匹配您需要的范围:([1-2][0-9]{3}|3000)
相关问题 更多 >
编程相关推荐