Nur zur Info: [] steht für „Zeichenklassen“. In Perl-regulären Ausdrücken und möglicherweise auch in Ruby-Ausdrücken ist \b außerhalb einer Zeichenklasse eine „Wortgrenze“ und innerhalb einer Zeichenklasse ein „Rücklöschzeichen“ (Backspace). In C ist \b immer ein Rücklöschzeichen (genauer gesagt ). Rücklöschzeichen sind die meiste Zeit nicht nützlich, während Wortgrenzen es sind – daher die Neudefinition.
Um einen regulären Ausdruck zu verwenden, der entweder „forbidden“ oder „forbidden“ erkennt, würde ich wahrscheinlich Folgendes verwenden:
\b_?forbidden_?\b
(Ich weiß auch, wie man alle Buchstaben mit XX; kodiert, um Unicode-Tricks oder den regulären Ausdruck zu umgehen.)