Verwenden Sie einen regulären Ausdruck, um eine große Zahl im südasiatischen Nummerierungssystem durch Kommas zu trennen
Ich versuche, einen regulären Ausdruck zu finden, um eine große Zahl durch Kommas zu trennensüdasiatisches nummerierungssystem.
Einige Beispiele:
1,000,000
(Arabisch) ist10,00,000
(Indisch / Hindu / Südasiatisch)1,000,000,000
(Arabisch) ist100,00,00,000
(Inder / H / SA).Das Kommamuster wird alle 7 Ziffern wiederholt. Zum Beispiel,1,00,00,000,00,00,000
.
Aus dem Buch Mastering Regular Expressions von Friedl habe ich den folgenden regulären Ausdruck für das arabische Nummerierungssystem:
r'(?<=\d)(?=(\d{3})+(?!\d))'
Für das indische Nummerierungssystem habe ich mir den folgenden Ausdruck ausgedacht, aber er funktioniert nicht für Zahlen mit mehr als 8 Ziffern:
r'(?<=\d)(?=(((\d{2}){0,2}\d{3})(?=\b)))'
Unter Verwendung des obigen Musters erhalte ich100000000,00,00,000
.
Ich benutze die Pythonre
Modul (re.sub()
). Irgendwelche Ideen?