Overview
Artifact ID: | 3b22e98da4efc7957b03c0194c40b743cefc7c75 |
---|---|
Ticket: | fe4fca32d988f67704a9fec3372bf340c81c3cef
mixed-greediness regular expressions need better documentation |
User & Date: | glennj 2015-03-24 14:55:43 |
Changes
- assignee changed to: "nobody"
- closer changed to: "nobody"
- cmimetype changed to: "text/plain"
- comment changed to:
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
- foundin changed to: "8.6"
- is_private changed to: "0"
- login: "glennj"
- priority changed to: "5 Medium"
- private_contact changed to: "d3087a52abea86234116c6d0fc932ab13864ef48"
- resolution changed to: "None"
- severity changed to: "Minor"
- status changed to: "Open"
- submitter changed to: "glennj"
- subsystem changed to: "- New Builtin Commands"
- title changed to:
mixed-greediness regular expressions need better documentation
- type changed to: "Bug"