I have some data where I like to extract data from right to left. Sample data
1,4,34
5,15
22
Expected output:
One=34 Two=4 Three=1
One=15 Two=5
One=22
This is as far as I have got with my regex experience.
(?:(?<three>\d+),)?(?:(?<two>\d+),)?(?<one>\d+)$
But this gives :
One=34 Two=4 Three=1
One=15 Three=5
One=22
So it fails when there are only two extraction. Any good idea? PS I do not have any revers tools
You can make the first 2 groups optional as a whole:
The pattern matches:
^Start of string(?:Non capture group(?:(?<three>\d+),)?Optionally capture 1+ digits in group "three" and match a comma(?<two>\d+),Capture 1+ digits in group "two" and match a comma)?Close the non capture group(?<one>\d+)Capture 1+ digits in group "one"$End of stringRegex demo