gpt4 book ai didi

javascript - 尝试在正则表达式中使用换行符导致我的 javascript 代码出现 "new line"

转载 作者:行者123 更新时间:2023-11-30 00:14:26 28 4
gpt4 key购买 nike

我将在此处附上一些图片来阐明我的观点。

所以我想做的是去掉数组中单词的所有标点符号。但它似乎不起作用,最大的问题是我的 \n\r 正在充当换行符。

图片:
所以我的正则表达式代码

enter image description here

变成这个

enter image description here

当我在浏览器中运行它时。然后我收到错误消息:Uncaught SyntaxError: Invalid regular expression: missing/

缺少/是有道理的,因为正则表达式的其余部分现在在下面两行!

使用 RegExr 表明它应该可以工作

enter image description here

我确信它非常简单,但我似乎无法发现我的错误!如果有人可以解释我的方法的错误,我将不胜感激,因为我对 RegExpressions 很糟糕!我在这里读到的其他类似问题指出缺少括号、缺少转义字符等。

我什至尝试过转义我的转义 Angular 色! IE。 \\n\\r,但这只是在新行中留下了两个额外的斜线。

以防万一:这段 JavaScript 代码是从 PHP 中回显出来的,但是如果我取出 \n\r 它就可以工作,所以它不应该是 PHP 问题。

希望这是足够的信息,如果还有其他我可以添加以澄清的内容,请发表评论!

最佳答案

您遇到的问题是 \n\r 是转义序列,按字面解释为换行符和回车符。他们破坏了 JS 代码(在这种情况下,文字正则表达式表示法)。

为避免数据损坏,当您将正则表达式模式从一个系统发送到另一个系统时,您最好依赖字符的十六进制表示。

使用\u000A(或\x0A)进行换行,使用\u000D(\x0D)用于回车。

还有一点要注意:在表达式中,有一个未转义的 - 创建了一个范围。我想这是故意的,但仍然是一个值得报告的细节。 ,-\/ 将匹配 ,, -, ./

关于javascript - 尝试在正则表达式中使用换行符导致我的 javascript 代码出现 "new line",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35248150/

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