To reformat numbers only in the "num" attribute values, you can do this:
(?<=num='\d+)(?=(?:\d{3})+(?!\d))
, .NET, RegExp Designer. lookbehinds, . Java lookbehinds , , , {min,max} quantifier :
(?<=num='\d{1,20})(?=(?:\d{3})+(?!\d))
, lookbehinds.
EDIT: ; , lookbehinds:
(num='\d{1,3}|\G\d{3})(?=(?:\d{3})+(?!\d))
.:)
EDIT2: , - "$1,"