在下面如何匹配4位或5位数字?

时间:2019-05-01 13:26:30

标签: regex perl

如何匹配以下字符串中的数字?

pe01058pr04
pe1234pr03

我们可能会得到4位数或5位数,如上所示。

我尝试了以下正则表达式:

.*([0-9]{4,5}).*

但是它只能匹配4位数字。

我需要为“ pe01058pr04”匹配5位数字-> 01058

我需要为“ pe1234pr03”-> 1234匹配4位数字

2 个答案:

答案 0 :(得分:2)

您可以只使用\d{4,5}来匹配4位或5位数字。

Regex Demo

此外,您的正则表达式确实与group1中的所有五位和四位数字匹配。 See this但是为什么不像我上面建议的那样简单地使用\d{4,5}?a

答案 1 :(得分:2)

my ($first_sequence_of_digits) = $string =~ /(\d+)/;