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.
In reply to Superfluous subpatterns in regex alternations. by demerphq
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |