Se metti il ^ all'inizio e il $ alla fine istruisci la regex per interpretare solo le stringhe che iniziano con
codice:
[ B]
e finiscono con
codice:
[/B ]
Questa dovrebbe andare:

codice:
(\[B\])([^\[]+)(\[/B\])