Ciao, ho fatto alcune prove sul tuo fiddle, noto il problema (verificando i risultati nella console) che appunto hai indicato.
Prova a scrivere l'espressione in questo modo:
codice:
var espressione = /^.*\[\d+]/i;
Mi pare che così vada ma non so dirti il perché.
@badaze, il problema sta nel fatto che testando la stringa "(CN) [562]" secondo quell'espressione, anziché restituire test_bad (che salta fuori nella console), dovrebbe restituire test_ok come per la prima stringa "dddd [4481]"... magari non era troppo chiara questa indicazione 
EDIT:
Ho trovato la causa... quando usi una stringa per definire l'oggetto RegExp vanno effettuati opportunamente i doppi escape. Nel tuo caso può essere scritto in questo modo:
codice:
new RegExp("^(?=.*\\[\\d+])","i");
o anche senza Positive Lookahead:
codice:
new RegExp("^.*\\[\\d+]","i");
o più semplicemente, come suggerito sopra: