Hi Experts,
I have a sample data like this
Test1@~^Test2@~^Test3@~^ where @~^ is the delimitter
I got a regular expression to tokenize this into the required columns .The expression is written like this (.*?)(?:@~\^)
Can someone explain the working of this?
I tried sampling this on https://regex101.com/ and found the matching as in the screenshot. Just now i got to know that .+c means greedy search and .+? means lazy search.

The thing which i'm wondering is how the expression understands the first grouping ends in Test1@~^ and not the full string? Also could someone explain the concept of unmarked grouping?