Я думаю, что по умолчанию квантификаторы жадные и слева направо. Так что на самом деле это не жадная проблема: у вас есть a {0, m} в сопоставлении чередования в присутствии не a
. Это соответствовало бы «м», если бы они присутствовали первыми.
Жадность кажется более сложной, чем кто-либо мог предположить.
'aaaaaaaaaa' = ~ /(a{1,2}) (a{1,2}?) (a{1,4}) (a{4,12}+)/x
&&
печать "'$1', '$2', '$3', '$4'
";
'aa', 'a', 'aaa', 'aaaa'