这个怎样用正则表达式简化表达?

这个怎样用正则表达式简化表达?

一组数字串,如果是11或12或13开头并且长度是8,或011或012或013开头并且长度是9,那么打印1,否则打印2,类似以下:
if(($t=~/^11/……  &&  length $t== ||($t=~/^011/……  &&  length $t==9) ;
{print "1" ;}
else
{print "2";}

一定要准确的哦
just like ^(0|)1(1|2|3).{6}$

^0?1(1|2|3)\d{6}$
^0?1[1-3]\d{6}$
都很好用,谢谢!