如何查找列表中的字符串是否包含一年(例如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'
答案 0 :(得分:9)
您希望使用re.search()
来测试输入字符串中匹配的匹配项。
为了更精确地匹配(近期)年,您可以使用:
re.search(r'[12]\d{3}', piece)
可以匹配1000到2999之间的任何内容。
答案 1 :(得分:2)
虽然'\d{4}'
和r'[12]\d{3}'
都将返回连续的4位数字,但它们还将返回数字较大的前4位,例如199999。
要获得像1999
的OP示例那样的年份,请用\s
来包装表达式,该表达式将与空白字符匹配。
r'\s[12]\d{3}\s'