Коллега спросил меня о проблеме с регулярным выражением, и я не могу найти и ответить за него.Javascript RegExp и границы
Мы используем границы, чтобы выделить определенные длины текста в текстовом редакторе, но вот некоторые примеры код, который показывает проблему:
<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, кто-нибудь знает почему?
Doh, конечно; Благодаря! –
Также отсутствует захват parens: \\ b (Alpha) \\ b –
yup, у меня был Doh, пока я не увидел этот ответ. У thx – CommentLuv