南アジアの番号付けシステムに基づいて、大きな数をコンマで区切るための正規表現を見つけようとしています。
いくつかの例:
1,000,000
(アラビア語) は10,00,000
(インド/ヒンズー/南アジア)1,000,000,000
(アラビア語) は100,00,00,000
(インド/H/SA) です。
カンマ パターンは 7 桁ごとに繰り返されます。たとえば、
1,00,00,000,00,00,000
.
Friedl による本 Mastering Regular Expressions から、アラビア語の番号付けシステムの次の正規表現があります。
r'(?<=\d)(?=(\d{3})+(?!\d))'
インドの番号付けシステムについては、次の式を思いつきましたが、8 桁を超える数字では機能しません。
r'(?<=\d)(?=(((\d{2}){0,2}\d{3})(?=\b)))'
上記のパターンを使用すると、100000000,00,00,000
.
Pythonre
モジュール ( re.sub()
) を使用しています。何か案は?