If you basically want to remove a sequence in one list from the other, like
List 1
Value 3
Value 4
Value 5
__and__
List 2
Value 1
Value 2
Value 3
Value 4
Value 5
Value 6
__becomes__
List 3
Value 1
Value 2
Value 6
And the sequence is expected to be contiguous, then I suppose you could use pattern matching by doing
1) Join all values by newline for each list via token editor "index"
2) Set the "input" on the pattern matching activity to be the joined value of list 2.
3) Set the "pattern" on the pattern matching activity to be the joined value of list 1 like this:
^(.*)%(Value_Of_List_1_Joined_By_Newlines)(.*)$
and set it to return all results with no spaces
4) On the resulting token, use a token function to split by newline. This new value is your List 3 as a MV token.
This approach is probably how you'd do what you want with pattern matching but it runs into a couple of problems.
1) Assumes the values are contiguous
2) Assumes the values have no special regex chars, which would cause issues here
3) It's kinda using the pattern matching activity a bit "outside its element".
I think a better approach would be to use the For Each Value activity paired with some conditional activities and an Assign Token Value activity... but their usage depends on what you are trying to do.