Description: |
Currently, the MATCHING section of the re_syntax man page talks about "preferences", and states:
> A branch has the same preference as the first quantified atom in it which has a preference.
I don't this this is sufficiently clear to illustrate the differences between
$ perl -e 'if ("1234" =~ /(\d+?)(\d+)/) {print "$& $1 $2\n"}'
1234 1 234
$ echo 'puts [regexp -inline {(\d+?)(\d+)} "1234"]' | tclsh
12 1 2
Can we have an explicit statement? Something like:
> If the first quantifier in a branch of a RE is non-greedy, /all/ quantifiers in the branch will be considered as non-greedy.
However, I just noticed something I can't explain: what's the difference between these?
$ echo 'puts [regexp -inline {(?:(\d+?)(\d+))} "1234"]' | tclsh
12 1 2
$ echo 'puts [regexp -inline {s+?|(?:(\d+?)(\d+))} "1234"]' | tclsh
1234 1 234
|