正则表达式匹配一个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.
。