Что будет регулярным выражением для добавления запятых в длинные цифры для удобочитаемости? - PullRequest
2 голосов
/ 03 августа 2009

Я хочу преобразовать 2333444 в 2,333,444, но я не совсем понимаю, как заставить выражение работать по направлению справа налево, а не наоборот. Я пишу на Perl, но любой синтаксис regEx - это хорошо, я преобразую его, если вам удобнее использовать java или javascript.

Ответы [ 4 ]

4 голосов
/ 03 августа 2009
s/(?<=\d)(?=(\d\d\d)+(?!\d))/,/g
4 голосов
/ 03 августа 2009

Выезд Число :: Формат . Этот модуль предоставляет широкий спектр решений для форматирования чисел. например за то, что вам требуется

  format_number(1234567.89, 2)          

дает '1 234 567,89'

Не забывайте, что то, что вы пытаетесь сделать, зависит от локали, и этот модуль справится с вами. Простое решение регулярных выражений само по себе этого не сделает.

3 голосов
/ 03 августа 2009

Вы хотите использовать расширение Number: Format , а не регулярное выражение. Вы хотите указать THOUSANDS_SEP= ','.

2 голосов
/ 03 августа 2009

з / (? <= \ Г) (? = (\ D \ d \ d) + (?! \ Г)) /, / г </p>

это будет сделано в регулярных выражениях в стиле Perl

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...