Formatting several numeric groups in one field

I have a field with three number group patterns.
The 1st group is a legal number made up of 15 numbers (e.g. 14266839357180)
The 2nd group is a personal number made up of 11 numbers (e.g. 54228776487)
The 3rd group is a natural number made up of 9 numbers (e.g. 381729546).
I would like to know if there is any way of extracting the data by separating it with dots, pipes and dashes. It would look like this:
Group 1: 14.266.839|3571-80
Group 2: 542.287.764-87
Group 3: 38.172.954-6

Or do I need to map another field for each group?
I have to confess that my mind has been blown by these numbers

Funny you should ask, I just published an article on our blog about this. In a nutshell, you should use the Post function to convert the data to the format you need.

Here’s a sample data mapping configuration that shows you how to implement it.
GroupNumbers.OL-datamapper

By the way, I took the liberty of changing your first number in your example, it only contained 14 digits, not 15. If the number to process does in fact contain only 14 digits, you’ll have to adjust the regular expression accordingly.