gpt4 book ai didi

需要 Javascript 正则表达式和转义建议

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

我想用替换项(模板语言)替换一个或多个问号,如下所示:

var translation = "this is a ???";
console.log(translation.replace(/(\?+)/g, "replacement")); //this is a replacement

但是现在,我最近遇到了一个问题,其中问号实际上是一个问题,不应该被逃避。我决定使用 ~ 作为转义字符,因此不应转义:

var translation = "this should not be escaped, cause it's a question, is it~?";
console.log(translation.replace(/[^~](\?+)/g, "replacement"));

到目前为止有效。但是,如果我使用多个问号(模板语法的要求),我最终会得到垃圾:

var translation = "this should not be escaped, cause it's a question, is it~???";
console.log(translation.replace(/[^~](\?+)/g, "replacement"));
//this should not be escaped, cause it's a question, is it~replacement <-- ???

关于如何做到这一点有什么建议吗?经典的 \ 作为转义字符会让我比 ~ 更快乐,但我也遇到了问题。

最佳答案

~ 可能应该用于仅转义单个字符(我认为这是预期的)。该模板的用户可以编写 ~?~?~? 来转义多个字符。

至于替换,[^~]仍然选择一个字符。

translation.replace(/([^~])\?+/g", "$1replacement")

$1 将再次插入所选字符

关于需要 Javascript 正则表达式和转义建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17340373/

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