Записал для программы список всех римских цифр ("регулярное выражение").
И обратил внимание, что IVXLCDM -- это, хотя и совершенно неупотребительная, но запись числа. Впрочем, в арабских цифрах это число выглядит совершенно не сакрально :))
В отличие от зловещего MDCLXVI :)) лондонцы не дадут соврать, не говоря уже о старообрядцах и "русском Безухове"...
И обратил внимание, что IVXLCDM -- это, хотя и совершенно неупотребительная, но запись числа. Впрочем, в арабских цифрах это число выглядит совершенно не сакрально :))
В отличие от зловещего MDCLXVI :)) лондонцы не дадут соврать, не говоря уже о старообрядцах и "русском Безухове"...
IVXLCDM ?
Date: 2004-10-02 01:44 am (UTC)no subject
Date: 2004-10-02 01:50 am (UTC)no subject
Date: 2004-10-02 02:26 am (UTC)perl -e 'foreach $roman ("IVXLCDM", "MDCLXVI", "MMIV", "MCMLXXVIII") { if ($roman =~ /^M*(C?[MD]|D?C{0,4})(X?[CL]|L?X{0,4})(I?[VX]|V?I{0,4})$/) { print "$roman matches\n"; } else { print "$roman does not match\n"; }}'Печатает:
Так что где-то у Вас ошибка. Я в коде отметил синим собственно регулярное выражение; если интересно, сверьте отличия.
no subject
Date: 2004-10-02 02:44 am (UTC)CиX(в отличие отI) должны быть{0,3}, а не{0,4}.IVXLCDM
Date: 2004-10-02 09:12 am (UTC)no subject
Date: 2004-10-02 09:43 am (UTC)no subject
Date: 2004-10-02 09:45 am (UTC)Так что IVXLCDM = 334 вполне можно себе вообразить.
no subject
Date: 2004-10-02 09:49 am (UTC)для ясности
Date: 2004-10-02 09:51 am (UTC)