in reply to Re: Re: Re: Pattern Finding
in thread Pattern Finding

for the condition that one pattern cannot be part of another pattern

This is the toughest condition, and so I don't think it can be done with a regex, at least not with perl's regex engine (hope someone can prove me wrong :). At every stage of capuring a pattern, you'd have to be able to fail if the longer of the current pattern and each of all past patterns doesn't contain the other. Here's some psuedo perl regex code which, if it worked would accomplish this (hope you get the idea), but I'm using things in the wrong way, the regex engine isn't re-entrant, it uses "$1" instead of "\1" (and in a symbolic reference sort of way), etc, but I though it was interesting nonetheless. It would go right after each pattern caputure in my solution:

join('', map { "(?{(length($$i)>length($$_))$$i !~ /$$_/ | $$_ !~ /$$i/})" } 1..$_)