一位同事問我一個正則表達式問題,我似乎無法爲他找到答案。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,當然;謝謝! – 2010-06-03 13:51:25
還錯過了捕獲parens:\\ b(Alpha)\\ b – 2010-06-03 14:07:13
是的,我有一個Doh,直到我看到這個答案。 thx – CommentLuv 2012-06-08 05:55:00