Javascript RegExp y límites
Un colega me preguntó sobre un problema de expresión regular, y parece que no puedo encontrar y responder por él.
Estamos usando límites para resaltar ciertas longitudes de texto en un editor de texto, pero aquí hay un código de muestra que muestra el problema:
<script type="text/javascript">
var str = "Alpha , Beta, Gamma Delta Epsilon, AAlphaa, Beta Alpha<br/>";
var rx = new RegExp('\bAlpha\b','gim');
document.write(str.replace(/\b(Alpha)\b/gim, '-- $1 --'));
document.write(str.replace(rx, '== $1 =='));
</script>
El problema es que el primer str.replace literal funciona, pero la opción RegExp no.
Tengo el mismo comportamiento en IE y FF, ¿alguien sabe por qué?