gpt4 book ai didi

Javascript 正则表达式和边界

转载 作者:行者123 更新时间:2023-12-02 18:49:54 25 4
gpt4 key购买 nike

一位同事问我一个正则表达式问题,我似乎无法找到并回答他。

我们使用边界在文本编辑器中突出显示特定长度的文本,但这里有一些示例代码显示了问题:

<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 中遇到相同的行为,有人知道为什么吗?

最佳答案

我猜它不起作用,因为您需要转义传递给 RegExp 的字符串中的反斜杠。你有这个:

var rx = new RegExp('\bAlpha\b','gim');

你需要这个:

var rx = new RegExp('\\bAlpha\\b','gim');

传递给 RegExp 的字符串中有 2 个退格字符,因为 \b 是在字符串中插入退格的转义序列。您需要用另一个反斜杠转义每个反斜杠。

关于Javascript 正则表达式和边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2966535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com