Чтобы переформатировать числа только в значения атрибута "num", вы можете сделать это:
(?<=num='\d+)(?=(?:\d{3})+(?!\d))
Но учтите, что это будет работать только в регулярных выражениях .NET, что и используется RegExp Designer. Большинство разновидностей регулярных выражений допускают только те взгляды, которые соответствуют фиксированному числу символов. Регулярные выражения Java допускают просмотр за разной длиной, если существует очевидная максимальная длина, поэтому вы можете подделать ее, используя {min,max}
для количественного определения произвольного числа для максимального:
(?<=num='\d{1,20})(?=(?:\d{3})+(?!\d))
Регулярное выражение Джона Хайленда будет работать с любым вкусом, поддерживающим взгляды.
РЕДАКТИРОВАТЬ: я почти забыл; Вот как вы можете сделать это, не оглядываясь назад:
(num='\d{1,3}|\G\d{3})(?=(?:\d{3})+(?!\d))
Мне больше нравится этот по чисто эстетическим соображениям. :)
EDIT2: я забыл упомянуть, что строка замены для последней - "$1,"