$retest(x,expr) returns true if the pattern specified by the regular expression expr matches the string x, else false. The third optional parameter enables ignore case (1) or disables the ignore case setting (0). Please note that you have to escape comma and other special characters in expr.
Meanwhile, if anyone can suggest a workaround better than this:
I don't mind trying to help, but I don't really understand what you want, and I can't understand the purporse of your expression.
If what you want is a way to check if something was found by a Regular Expression, or not, in Mp3Tag that is done knowing this:
When the <search_expression> is found in <source_text>, then only the text found is returned, otherwise the whole <source_text> is returned.
Now you need to somewhow compare the <source_text> with the <return_text>.
But it depends on the contents, so I can't give you a general solution to everycase.
However you certainly have an idea of what is possible for both cases, so you can play with that.
Here is a specific example, just to give you an idea of what I mean:
a ) Suppose that your <source_text> always starts with a number with 3 digits, like 123, 894, etc.
b ) Suppose your <return_text> should always start with a text character.
This way you just have to verify if the first chracter of the <return_text> is a digit.
Use function: $isdigit(x) - returns true if character x is a decimal number.
In case it returns true, then you know that your search was NOT_FOUND.
Sometimes, when I import text files, my first character is a special one, precisely because of this, and I call it the NOT_FOUND character. If that character is the first in the <return_text>, then it means that what I was searching was not found.
I don't know if this is what you're looking after, but maybe it will help.
Yes, because the regex has been evaluated and matched and has delivered the wanted result, which is the empty string, any detour with a 'reserved string' is not necessary.
If there is no match, then the Mp3tag $regexp function returns the full unchanged input string, which leads to the else-case of 'otherwise'.
Yes, the function $regexp returns for a given empty input string an empty output string, ...
regardless of the regexp does match or does not match, ...
empty input == empty output
... but this result has nothing to do with the applied regular expression condition.
The addition knows a similar effect: a + 0 ==> a
The multiplication knows a similar effect: a * 1 ==> a
$if($eql($regexp('a','^a$',),),$regexp('a','^a$','x'),'n')==>'x'... it has matched and the rule has been applicated,ok.$if($eql($regexp('b','^a$',),),$regexp('b','^a$','x'),'n')==>'n'... it has not matched$if($eql($regexp(,'^a$',),),$regexp(,'^a$','x'),'n')==> empty output string,is same as input string... there is no knowledge about matching yes or no.
This is sort of tri-state logic, having a third case 'cannot say'.