Я занимаюсь регулярными выражениями.
Я пытался форматировать числа, используя PHP и regex. Я хочу добавить запятую после каждых 3 цифр, подобных этому 111222333444, в этот формат 111,222,333,444 или 11222333444 до 11,222,333,444 с использованием PHP и регулярного выражения.
Я много искал, но я не мог найти точного решения.
Я знаю, что для работы в php (number_format) есть функция, но я хочу использовать регулярное выражение и PHP для этого, потому что я изучаю регулярное выражение и практикую, поэтому хочу использовать только регулярное выражение и php.
Вот решение на основе регулярных выражений:
$repl = preg_replace('/(?!^)(?=(?:\d{3})+$)/m', ',', $input);
Объяснение:
(?!^)
- Отрицательный взгляд, чтобы убедиться, что мы не находимся в начале ввода(?=(?:\d{3})+$)
- Положительный взгляд, чтобы убедиться, что 1 или более трехзначных наборов после текущей позиции