gpt4 book ai didi

javascript - 为什么在 Javascript 中正则表达式字符串没有封装在引号中?

转载 作者:行者123 更新时间:2023-11-29 16:57:02 25 4
gpt4 key购买 nike

除了 Javascript,正则表达式的所有实例都使用类似(用于查找括号中的数字)"\\[[0-9]+\\]"r"\[[0-9]+\]”。然后,该字符串将用于类似 Contains("\\[[0-9]+\\]", "[1009] is a number.") 的函数中。 Javascript 中的正则表达式字符串根本没有被封装,所以我看到类似 var patt =/w3schools/i 的东西。为什么是这样? Javascript 如何区分此内容和其他内容?为什么不直接使用普通字符串?

最佳答案

Why is this?

就是这样regex literals工作。正则表达式是 JS 中的对象,而不是普通的字符串。

How does Javascript tell the difference between this and other content?

这就是语言语法的定义方式。事实上,与其他语言相比,它更容易区分字符串和正则表达式。

Why not just use normal strings?

因为转义的工作方式不同。其他语言为此使用“原始”字符串,而 JavaScript 没有(没有)。相反,他们为正则表达式引入了文字符号 - 使用 / 作为分隔符(从 Perl 借用)。

当然,您仍然可以使用普通字符串,并使用 RegExp 构造函数创建正则表达式对象,但对于静态表达式,文字语法要简单得多。

关于javascript - 为什么在 Javascript 中正则表达式字符串没有封装在引号中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31491908/

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