一位同事问我一个正则表达式问题,我似乎无法为他找到并回答。
我们在文本编辑器中使用边界来突出显示特定长度的文本,但这里有一些显示问题的示例代码:
<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 中有相同的行为,有人知道为什么吗?