I'm building a small text clean up program and I'm currently testing it on Wiki articles,and I'm trying to efficiently remove the "[2]", "[14]", "[nb 6]" etc. 

I have this code which nearly does the job, but its seem very overly long and I feel there must be a way to do it in one line, but I'm new to Regex and can't figure it out. Also I've read mixed opinions on Regex so if theres an alternsate way that'd be great. 

Anyway here is my current code: 

```
string  refinedText = Regex.Replace(sourceText, @"\[[0-9]\]", "");

        refinedText = Regex.Replace(refinedText, @"\[[0-9]", "");
        refinedText = Regex.Replace(refinedText, @"\[[a-z]", "");
        refinedText = Regex.Replace(refinedText, @"[0-9]\]", "");

```

The issue is there are 2 numbers within the "[ ]" and I don't know how to tell it to remove both, as doing "0-9" just removes the first number, I can do the replace in 2 parts for them; but for the instances of "[nb 3]" the b always remains as there no way I can specify the lone "b" after the "[ ]" are gone to be used as the reference. Also "[nb 14]" same issue with if there are double digits after the "nb". 

I'm sure this is simply to do in 1 line, but I can't find any where explaining regex to this extent. 

-Thanks.