Коллега спросил меня о проблеме с регулярными выражениями, и я не могу найти и ответить за него.
Мы используем границы для выделения текста определенной длины в текстовом редакторе, но вот пример кода, который показывает проблему:
<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>
Проблема в том, что первый литерал str.replace работает, а опция RegExp - нет.
У меня такое же поведение в IE и FF, кто-нибудь знает почему?