Thanks MrC I appreciated the help would never as go this far without you.
As of now I have two views, the first is just the rules for file display. The rules are perfect I don't need to change anything with them.
[=save(listcombine([Album Artist,0],load(list1),;,;,0),list1)save(listcombine([Remixer,0],load(list2),;,;,0),list2)1]=1
And the second view has no rules, columns or panes, it is just a view containing the file list I will use for tagging with the tag window from the action menu using this expression below.. I have a custom field called Remixer Filtered which I apply the following expression to in the tag window
=if(isequal(listcombine(ListCombine([list1],[list2],;,;,1), [list1],;,;,0),[Remixer],8),[Remixer],)
What I'd like to see is that when I apply this expression or a form of it to the Remixer Filtered field in the tag window, is that when there are several remixers separated by the ; delimiter for a single track, that I could some how split each remixer up and check that they each exist in the values created by the rules for file display above.. Either by using extra global variables or the regex captures if at all possible. Then only output existing remixers followed by a ; in to the remixers filtered field..
So imagine this is all the music I have. An expression that utilizes a form of this expression listcombine(ListCombine([list1],[list2],;,;,1), [list1],;,;,0)
To get the desired output below
Album | | Album Artist | | Remixer | | Remixer Filtered Output |
One | A | C;B | C;B |
Two | B | A | A |
Three | C | A;D | A |
I think it is possible as you saidRegex() can remember a finite number of segments of the matched pattern for later use (either as part of the pattern itself, or elsewhere)
can regex remember the segments in the remixer field, between ";" including the first entry that doesn't have a ";" before it and then check if any of them are equal to listcombine(ListCombine([list1],[list2],;,;,1), [list1],;,;,0), and if they are output the capture folllowed by a ";", otherwise output nothing..Whoops just understood the implications of another point you said
Regex() cannot look at two lists, and iterate over each item in one list comparing it to the other list.
Long shot here, could I use regex to capture each segment in the remixer field between the ";" and then pass over each capture separately to different global variables, each capture would have it's own global variable. Then to check the global variables if they are equal to listcombine(ListCombine([list1],[list2],;,;,1), [list1],;,;,0) to output the desired results
wouldn't this allow me to use regex to iterate over each item in the remixer field, but still being able to compare it to another list by using global variables?
Otherwise I don't believe there to be a way to get the desired results using an expression & this maintenance view will still have a significant level of manual checking & tagging required for every track where there are two or more remixers.
Hope I've explained everything clearly, I'm not the best at trying to explain what I'm trying to achieve sometimes..