Delete file by filename

I have 1000+ music files - about 10% are extraneous. I want to delete all files withe name beginning, as an example, " nnnn - Flubber" where nnnn is a four digit sequence number. How's this done?

Load the files into MP3tag.
Set a filter like
%_filename% MATCHES "^\d+ -"
Check the list.
Select the files.
Press Ctrl-Del to delete them.

Thanks - "nnnn - Flubber" is now toast.

I know this is mostly a regexp question but... I have some file names with [n].mp3 at the end. [n] is used to avoid name duplication in the file collection. With the sequence numbers added, [n] is now extraneous.
I can view, with a filter (%_filename% MATCHES "[\d]"), only the files with [n].mp3. I can't think of how to delete the string [n] from the file name.
0001 - Flubber[1].mp3 becomes 0001 - Flubber.mp3

if you really insist on fiddling about with the filename instead of rewriting it from the tags, you could use the function
Source mask: %1 [%2]
New filename: %1

The title tags are a mess. The filenames are the only names that are close to right. In a perfect world, all I'd need to do is title-filename w/ seq. no. and life is good. Ultimately it's going to be filename-title.

In the end, the solution was somewhat complicated. A view filter, to get only file names with the string "[n]" in them, was needed to avoid file names with no "[n]":
"%_filename% MATCHES "[.]"
Without that, file names not having "[n]" triggered a syntax error when using filename-filename. Even then, the filename-filename conversion needed four segments to reduce to nnnn artist - title.mp3:
old filename pattern: %1 %2 - %3 [%4]
new filename pattern: %1 %2 - %3

Two file name samples:
0001 Chris Standring - As Luck Would Have It.mp3
0001 Chris Standring - As Luck Would Have It [1].mp3

Once again, "hey, how hard can it be" runs smack into reality. [/ grin ]

The filter coud have been:

%_filename% MATCHES [\d+]
I doubt that the pattern really had to contain 4 parts as the separator between the wanted and the unwanted data was still the [.
So even my pattern

Was a little redundant as it could have been
%1 [%2
If this pattern does not match then it could be that there is missing a blank in the actual filename and that the pattern should be:
But as you succeeded ...

I started from your recommendation but, for some reason, it didn't work as expected. What I posted came from a lot of cut and try.

What's not clear to me is how a string is broken up into its atoms. That is what breaks up this:
999 billy bob - some strange title [1].mp3
What defines what %1, %2, etc. contain?

If nothing helps, perhaps a look at the help helps:

You have to define which parts you want to treat and/or how many you have to separate until you have them all in an addressable state.

in your case it was that you wanted to keep every thing in front of the opening square bracket and discard everything behind it. So the opening parenthesis is the separator between the good and the ugly.
The important bit: the pattern is taken literally. So every blank, comma and hyphen counts (if it is used as separator).
The number of parts actually has nothing to do with the semantics of the data like that some part could be the title, some the artist name, some other the album name.
This differentiation is needed if you want to split the filename into tag fields. But that is done with the function Convert>Filename-Tag.

Gotit - great thanks for your help.

And that is why I use some kind of unique marker for such things- if the sign is not used in any other field or at least means one thing in one field and something other in other or means the same thing in many fields, I have no problem with pin pointing files, with a simple Filter expressions

My method should be taught in schools and I should get a Nobel Music Prize, sends hearts now please

Re-reading your post, I finally woke up to a small error in your assumption about what I wanted to do.
I wanted to delete the leading bracket, what's between the brackets, and the trailing bracket. Or...
Long string with embedded spaces and "-"'s [single digit].mp3
Long string with embedded spaces and "-"'s.mp3
no [single digit] in the result

Anyway, the job's done; I wanted explain my goal. Which may explain why I needed a longer regexp expression.