正则表达式获得年份的最后两位数

时间:2014-09-01 16:24:05

标签: regex

我必须使用正则表达式才能获得一年的最后两位数字,但仅限于存在4位数字时。我有以下正则表达式,当有4位数时,它可以正常工作。例2014 - 14

^.{2}

但是我需要这个只在有4位数时才能工作。当只有2位数时,我遇到了清空字符串的问题。

3 个答案:

答案 0 :(得分:7)

只需匹配四位数字,只捕捉最后两位数。

^\d{2}(\d{2})$

然后引用捕获组#1以访问您的匹配结果。

答案 1 :(得分:1)

您可以使用此正则表达式。

^(?(?=\d{4}$)..(\d{2}))$

<强> Working demo

此正则表达式使用 IF 子句,因此如果字符串是4位数,则捕获最后两位。

enter image description here

答案 2 :(得分:1)

你在那里的正则表达式也不应该使用4位数。你的正则表达式在字符串的开头寻找任意2个字符。

试试这个:

(?<=\d\d)\d\d$

Regular expression visualization

Debuggex Demo

这与Fede的答案不同,因为您以后不需要使用并随后引用捕获组。只有最后2位数字是比赛的一部分。它依赖于积极的外观。