Próbuję znaleźć wyrażenie regularne dla przecinka, oddzielając dużą liczbę na podstawie south asian numbering system.Używanie wyrażenia regularnego do rozdzielania przecinków dużej liczby w południowo azjatyckim systemie numerowania
Kilka przykładów:
1,000,000
(arabski) jest10,00,000
(Indian/Hindus/Azji Południowej)1,000,000,000
(arabski) jest100,00,00,000
(Indian/H/SA).
Wzór przecinka jest powtarzany co 7 cyfr. Na przykład: 1,00,00,000,00,00,000
.
Z książki Mastering wyrażenia regularne przez Friedl, Mam następujące wyrażenie regularne dla arabskiego systemu numeracji:
r'(?<=\d)(?=(\d{3})+(?!\d))'
Dla cyfry indyjskie, mam wymyślić następującego wyrażenia, ale to nie działa dla liczb z więcej niż 8 cyfr:
r'(?<=\d)(?=(((\d{2}){0,2}\d{3})(?=\b)))'
Stosując powyższy wzór, mam 100000000,00,00,000
.
Używam modułu Python re
(re.sub()
). Jakieś pomysły?
Uważam, że liczby, które wprowadzasz, nie zawierają jeszcze * żadnych * przecinków, prawda? –
Tak, zgadza się. Pozwól mi wypróbować rozwiązanie, które zaproponowałeś poniżej! – newbie
Dziękuję za zredagowanie mojego pytania, panie Pieters. – newbie