正则表达式以匹配当前和未来几年?

时间:2014-01-06 12:33:31

标签: regex

我有以下几年:

1999
1985
2013
2014
2007
2016
2050

如何使用正则表达式仅选择当前和未来几年?

3 个答案:

答案 0 :(得分:0)

我想到的第一件事就是......

(201[3-9])|(20[2-9][0-9])|(2[1-9][0-9][0-9])

2013-2999匹配。根据需要应用捕获组。

答案 1 :(得分:0)

您可以使用:

 ([3-9][0-9]{3,})|(201[3-9])|(20[2-9][0-9])|(2[1-9][0-9][0-9])

答案 2 :(得分:0)

\b20(?:1[4-9]|[2-9]\d)\b

将年20142099匹配。 Explanation here

或者,此正则表达式应与上述任何年相匹配,包括2014(例如20372999318765):

\b(?:2\d(?:1[4-9]|[2-9]\d)|\d{5,}|[3-9]\d{3,})\b

Explanation here