gpt4 book ai didi

javascript - RegExp转义功能的问题-Javascript

转载 作者:行者123 更新时间:2023-12-01 16:25:52 24 4
gpt4 key购买 nike

尝试转义特殊字符。
我输入$或^或|它工作正常。
为什么我的下面的代码没有转义(){}? * +和\键入这些内容时,我得到了无效的表达错误。

escape = function(value) {
return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
}

以上表达有问题???

MDN建议这样做
function escapeRegExp(string) {
return string.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
}

即使是这样,我也面临着同样的问题。 {} $ ^ |没有错误但我得到()*的错误? \ +

最佳答案

它们位于字符类中(由[]表示),这意味着它们无需转义。它们仅在字符类之外和正则表达式中时才需要转义,因为它们表示某些操作(例如{1,3}表示“包含一到三倍”)。

这也是对您的问题的一点澄清-代码没有转义\,而是通过将它们中的两个放在一起来转义\-\\\的转义符。因此,只有{}()不会被转义,以回答文章顶部的问题。

关于javascript - RegExp转义功能的问题-Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61670863/

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