in reply to matching file names using regex

I want to match anything starting with test, having one more more digits after it, zero or more characters, but not ending in a ~.

I guess you're saying that there should be one or more digits immediately following "test", which is what you have in your example. Abigail-II's /^test(?=\d).*[^~]$/ would do that, but it could be shortened slightly to /^test\d+.*[^~]$/

If there needs to be one or more digits anywhere after "test" then use /^test(?=.*\d).*[^~]$/