gpt4 book ai didi

javascript - RegExp 构造函数转义斜杠字符但不转义点

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

假设我有这个:

console.log(new RegExp('.git'));
console.log(new RegExp('scripts/npm'));

结果是:

/.git/
/scripts\/npm/

我的问题是 - 为什么它转义了 scripts/npm 中的斜杠,但没有转义 .在 .git 中?这是什么韵律和原因?

请注意,在这种情况下,正则表达式字符串是从命令行传递的,因此我需要使用 RegExp 将它们转换为正则表达式。

最佳答案

未转义的 / 表示正则表达式的开始和结束。当你将包含/的字符串传入构造函数时,当然/是正则表达式的部分,而不是表示开始的符号或结束。

. 完全是另外一回事,没有任何 RE 定界符,所以它保持原样。

请注意,如果您希望正则表达式匹配一个文字点(而不是任何字符),您需要在使用构造函数时对其进行两次转义:

console.log(new RegExp('\\.git'));

关于javascript - RegExp 构造函数转义斜杠字符但不转义点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52132776/

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