The
{group} binding matches known
release group names from the
current filename. This however only works by checking filename against known release groups and matching one if possible.
The list of release-groups known to FileBot is here:
https://github.com/filebot/data/blob/master/release-groups.txt
The list of recent changes is here:
https://github.com/filebot/data/commits/master/release-groups.txt

Release groups not in this lists will not be recognized by FileBot, so if you stumble across missing release groups post them here and I'll add them to the list. Please
post lists of release groups line-by-line with
official upper-case/lower-case spelling (e.g. aXXo) so I can easily merge them into the online list. FileBot will update its locally cached release group data from this online list once a week meaning this list is shared with all users.

Due to the timing between new data being published on the server-side once per week, and new data being requested on client-side once per week, it may take up to
2 weeks for new data to trickle down to all clients.
If you use
{group} you will want to make sure that your expression still works as intended even if
{group} is undefined. This can easily be done by making the separator characters part of the {expression} code, e.g.
You can minimize false positives with logic like this:
Code: Select all
{ n.findMatch(group) ? null : group }

If your files are already uniformly well-named, then you can directly match arbitrary release group names from the filename.
e.g. match
-group at the end of the filename:
e.g. match
[group] at the beginning of the filename:
e.g. match
[group] at the ending of the filename:
e.g. all of the above:
Code: Select all
{ any{ fn.match(/^\[(.*?)\]/) }{ fn.match(/\[([^\[\]]+)\]+/) }{ fn.match(/[-]([^-]+)$/) }{ group } }

You can use the
filebot -mediainfo command to preemptively find files where
{group} is
undefined, and then extract the group names using the patterns above, so we can add them to the list.
e.g. print
{group} for each file:
Code: Select all
filebot -mediainfo -r /input --format "{ group } => { fn }"
e.g. find files for which
{group} is
undefined:
Code: Select all
filebot -mediainfo -r /input --filter "none{ group }" --format "{ f }"
e.g. find files for which
{group} is
undefined, then match the likely group name via common patterns from from the file name, and finally print the result in unique sort order:
Code: Select all
filebot -mediainfo -r /input --filter 'none{ group }' --format '{ any{ fn.match(/^\[(.*?)\]/) }{ fn.match(/[-]([^-]+)$/) } }' | sort -u