Need help with filter expression

This should be easy but I can't seem to get it. I want to find all files with any empty field. I have tried these

  • IS ""
  • MATCHES ""
  • MATCHES ^$
  • MATCHES ^$ or * MATCHES (?-m)^$
    works but you should know that Mp3tag doesn't necessarily display empty tag fields so you can't filter them. (I think it can only show empty flac tag fields and no empty ID3v2 tags for example)

Thanks dano,

I forgot that mp3tag deletes empty fields so I actually needed MISSING.

But I did test it and found that for example %track% MATCHES ^$ does work, but * MATCHES ^$ doesn't work. Are you sure it worked for you?

%track% MATCHES ^$ finds files with no track tags because surrounded by percent chars %track% is evaluated as format string and so creates an empty string which is matched by ^$
But if you use track MATCHES ^$ it will not find files with no track tag but files with an empty track tag.

So * MATCHES ^$ also finds only files with empty tags or with empty lines but not with missing tags.
If it found files with missing tags it would find any file because the number of missing tags on a file is like infinite.

Dano, I have 2 mp3 files, one with empty track field and one with missing track field.

track MATCHES ^$ finds neither
%track% MATCHES ^$ finds both

track IS "" finds neither
%track% IS "" finds both

  • MATCHES ^$ finds neither
  • MATCHES (?-m)^$ finds neither

track MISSING finds both
%track% MISSING finds both

My conclusion - Mp3tag does not distinguish between empty fields and missing fields in mp3 files (maybe it can for flac files?)

Therefore just as * cannot be used to search for missing fields (as you pointed out), neither can it find empty mp3 fields. When the tag is saved any empty fields are deleted anyway. This all seems logical and reasonable.