demerphq has asked for the wisdom of the Perl Monks concerning the following question:
I've been wondering about something in perls regexes. If we have a sub pattern in a regex like: (LIST|OF|LISTS) can anybody think of a circumstance where "LISTS" will ever match? I've been pondering this for a while, and I cant think of any reason why one cannot consider the former to be functionally equivelent to (LIST|OF). Any ideas?
BTW, I am aware that (LISTS|OF|LIST) will produce very different results from (LIST|OF|LISTS), the point is to determine whether its fair to say that the latter contains a sub pattern that will NEVER match so that possibly a warning could be generated, or possibly the regex engine could assume its an error and silently assume it should be treated as though it were spelled (LISTS|OF|LIST).
A last point of interest, the two constructs (LISTS|OF|LIST) and (LIST|OF|LISTS) would be equivelent in many regex implementations. Perls particular implementation however does not see them as the same at all.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Superfluous options in regex alternations.
by gaal (Parson) on Jan 03, 2005 at 12:27 UTC | |
|
Re: Superfluous options in regex alternations.
by Aristotle (Chancellor) on Jan 03, 2005 at 12:33 UTC | |
by demerphq (Chancellor) on Jan 03, 2005 at 12:48 UTC | |
|
Re: Superfluous subpatterns in regex alternations.
by RMGir (Prior) on Jan 03, 2005 at 12:45 UTC | |
by demerphq (Chancellor) on Jan 03, 2005 at 12:55 UTC | |
|
Re: Superfluous options in regex alternations.
by holli (Abbot) on Jan 03, 2005 at 12:34 UTC |