Wildcard exception function ~(*exception*) does no work anymore in version 12.33 - why?

Hi,
the the following exception function ("NOT") previously used in version 12.30 does no work anymore in version 12.33 for wildcard directory labels:

*(special|xyz)~(*NOT*)*
or: *(spezial|xyz)~(NOT)*
or: *(special|xyz)~[*NOT*]*
or: *(spezial|xyz)~[NOT]*

The the following exception function ("NOT") works for wildcard directory labels with the exception "NOT", but in a directory WITHOUT the (exception) word "NOT" in the directory-name it ONLY recognizes the word "special" -> if it is followed by a space or other characters:

*(special|xyz)[~*NOT*]*
or: *(special*|xyz)[~*NOT*]*
or: *(special|xyz)[~NOT]*

Is this a bug or how can I use the previously used function *(special|xyz)~(*NOT*)* again tha it works?
Thx. a lot.

I'm not sure those patterns would ever have worked, at least not how you probably expected them to.

It doesn't make sense to match ~(*NOT*)* at the end of a pattern. It will match any/every string (provided the rest of the pattern matches, i.e. the *(special|xyz) part).

The ~(*NOT*) can match a zero-length string and the * after it will match anything, including NOT.

What are you trying to do? Where are the patterns being used?

Hi Leo, thank you for your answer.
So far it has worked until Verison 12.30, in particular *(special|xyz)~(*NOT*)* as a wildcard for -> folder names in DOPUS.
'NOT' is just an example word. This means that IF this word 'NOT' somewhere (therefore the *-sign before and after 'NOT' -> = *NOT*) appears in the folder name (which contains the word special), the folder wildcard in question should NOT! be applied/executed. That is all that is intended.
With *(special|xyz)~(NOT)* it no longer works either as a wildcard for folder names.

But where are you using this pattern? Which command or part of the user interface?

Settings -> Preferences -> Favorites & Recently used -> Label assignments -> Wildcard filter

Seems to work for me today:

I'm actually surprised that pattern works. I thought it would require the last * to be removed:

*(special|xyz)~(*not*)

But both seem to function the same, at least with what I've tested so far.