Apenas para avisar, [] é para “classes de caracteres”. Em expressões regulares do Perl e possivelmente do Ruby, \b é uma “fronteira de palavra” fora de uma classe de caracteres e “retrocesso” dentro de uma classe de caracteres. Em C, ‘\b’ é sempre retrocesso (<control-H> para ser preciso). Retrocesso não é um caractere útil na maioria das vezes, enquanto fronteiras de palavra são, daí a redefinição.
Para usar uma ER para capturar “proibido” ou “proibido”, eu provavelmente usaria:
\b_?proibido_?\b
(Também sei como codificar todas as minhas letras em &#xXX; para evitar truques de Unicode ou a expressão regular.)