正则表达式匹配一个2位数字或3位数字

问题描述:

我需要能够检查一个字符串是否包含在.(句点)之前的2位或4位数字。正则表达式匹配一个2位数字或3位数字

例如,39.是好的,3926.也是如此,但是392.不是。

我原本有(^\\d{2,4).$),但允许在一段时间之前的2位和4位数之间。

我也试过(^\\d{2}.|\\d{4}.$),但没有奏效。

在表达式(^\d{2}.|\d{4}.$)中,这些点匹配任何字符。

尝试逃避他们,使他们匹配字面点:(^\d{2}\.|\d{4}\.$)

你可以使用这个表达式:

^\d{2}(?:\d{2})?\.$ 

此正则表达式使第二套\d{2}可选从而使匹配12.1234.但不是123.