You need to escape the /
characters in the pattern as that is the delimiter.
Then you need some more quantifiers. The pattern (<[A-Z]>)+
matches one or more HTML tags, but only those that has a single character tag name. You need (<[A-Z]+>)+
to match the <TD>
tag also.
The pattern for the desired string also needs a quantifier, and the set needs to match more characters as the desired string doesn't contain only lower case characters.
alert("<TD><B><B>13COB251</B> - Desired String</B></TD>".replace(/(<[A-Z]+>)+13COB251(<\/[A-Z]>) - ([A-Za-z ]+)(<\/[A-Z]+>)+/gi, "$3"))
Demo: http://jsfiddle.net/RH6zc/