Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图在正则表达式中使用新行字符会导致;新行“;在我的javascript代码中_Javascript_Regex - Fatal编程技术网

试图在正则表达式中使用新行字符会导致;新行“;在我的javascript代码中

试图在正则表达式中使用新行字符会导致;新行“;在我的javascript代码中,javascript,regex,Javascript,Regex,我将在这里包括一些图片来阐明我的观点 所以我要做的是去掉一个数组中单词的所有标点符号。但它似乎不起作用,最大的问题是我的\n和\r正在充当新行 图像: 所以我的正则表达式代码 正在变成这样 当我在浏览器中运行它时。然后我得到错误消息:uncaughtsyntaxerror:Invalid正则表达式:missing/ 缺少/有意义,因为正则表达式的其余部分现在在下面两行 使用RegExr表明它应该可以工作 我相信这是非常简单的,但我就是看不出我的错误! 如果有人能解释一下我的错误,我会很感激

我将在这里包括一些图片来阐明我的观点

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

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

正在变成这样

当我在浏览器中运行它时。然后我得到错误消息:
uncaughtsyntaxerror:Invalid正则表达式:missing/

缺少/有意义,因为正则表达式的其余部分现在在下面两行

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

我相信这是非常简单的,但我就是看不出我的错误! 如果有人能解释一下我的错误,我会很感激的,因为我的表情很糟糕!我在这里读到的其他类似问题指出了缺少括号、缺少转义字符等

我甚至试着逃离我逃脱的角色!例如,
\\n
\\r
,但这只是在新行上留下了两个额外的斜杠

如果有帮助的话:这个JavaScript代码是从PHP中回显出来的,但是如果我去掉
\n
\r
,它就会工作,所以这不应该是PHP的问题


希望这是足够的信息,如果有什么我可以补充澄清请评论

您遇到的问题是
\n
\r
是转义序列,字面上被解释为换行符和回车符。它们破坏了JS代码(在本例中是文本正则表达式表示法)

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

使用
\u000A
(或
\x0A
)作为换行符,使用
\u000D
\x0D
)作为回车符


还有一句话:在表达式中,有一个unscaped
-
创建了一个范围。我想这是故意的,但仍然是一个值得报道的细节
,-\/
将匹配
-
,和
/

为什么不使用
\u000A
\u000D
\x0A
/
\x0D
)?试试看,哇。。。这很有效。。。有没有关于我的方式出了什么问题的信息?这不应该是我的方式吗?我让图像出现在问题中。还有一点需要注意:表达式中不需要转义
^
*
,因为它们在字符类中使用(并且
^
不是其中的第一个符号)。请检查我的答案,并决定哪些内容必须匹配和相应地编辑。“这不应该是PHP的问题”-但我非常确定它是。这不是一个JS或regex问题,因为它看起来像是单个\和n字符没有被发送到浏览器:PHP将它们视为一个换行符,并重复这一点。在PHP中必须有某种方法来逃避\,以便它确实会发送一个\后跟一个n到浏览器,但我不是PHP的人,所以我不知道。(如果是Java或C#我可以帮忙…)非常感谢!使用十六进制代码完美地工作,我会认为它是一个教训,以供将来参考!(也感谢你编辑我的问题,使图片工作)同样,无关的(我会删除这个评论一旦回答),但你如何修复我的文章中的图像?我错过了什么?