在javascript中引用正则表达式文字?为什么不呢?
在回答一个问题和许多其他地方时,我在javascript中看到了不带引号的字符串 例如:在javascript中引用正则表达式文字?为什么不呢?,javascript,regex,string-literals,Javascript,Regex,String Literals,在回答一个问题和许多其他地方时,我在javascript中看到了不带引号的字符串 例如: var re = /\[media id="?(\d+)"?\]/gi; 为什么不改为: var re = '/\[media id="?(\d+)"?\]/gi'; 它是正则表达式的某种特殊处理,还是任何字符串都可以这样声明 var re = /\[media id="?(\d+)"?\]/gi; 是正则表达式文字,而不是字符串 是正则表达式,不是字符串。它只用于正则表达式,不是字符串。它只用于正则
var re = /\[media id="?(\d+)"?\]/gi;
为什么不改为:
var re = '/\[media id="?(\d+)"?\]/gi';
它是正则表达式的某种特殊处理,还是任何字符串都可以这样声明
var re = /\[media id="?(\d+)"?\]/gi;
是正则表达式文字,而不是字符串
是正则表达式,不是字符串。它只用于正则表达式,不是字符串。它只用于正则表达式,不是字符串。因为在JavaScript中,正则表达式是一种内置类型,而不是传递给某些解析器(如C或Java)的字符串模式 这意味着当您编写var regex=/pattern/时,JavaScript会自动将该文本用作正则表达式模式,使regex成为RegExp类型的对象
请参阅:,因为在JavaScript中,Regex是一种内置类型,而不是传递给某些解析器(例如在C或Java中)的字符串模式 这意味着当您编写var regex=/pattern/时,JavaScript会自动将该文本用作正则表达式模式,使regex成为RegExp类型的对象 见: 它是正则表达式的某种特殊处理吗 是的,正则表达式得到特殊处理。例如,有一个内置的JavaScript正则表达式类型,它有自己的文本语法 或者任何字符串都可以这样声明吗
var re = /\[media id="?(\d+)"?\]/gi;
不可以。因为正则表达式是对象而不是字符串,如果您尝试使用正则表达式文字编写字符串,您将得到一个正则表达式对象,而不是字符串
它是正则表达式的某种特殊处理吗
是的,正则表达式得到特殊处理。例如,有一个内置的JavaScript正则表达式类型,它有自己的文本语法
或者任何字符串都可以这样声明吗
var re = /\[media id="?(\d+)"?\]/gi;
不。因为正则表达式是对象而不是字符串,如果你尝试用正则表达式文字编写字符串,你会得到一个正则表达式对象,而不是字符串。是一个比W3C更好的参考,W3C学校与真正的W3C没有任何关系,他们只是在google上大发雷霆。哇,我没有意识到这一点。我的错。谢谢你的提示,从现在起我会记住的。这是一个比W3C更好的参考,W3C学校与真正的W3C没有任何关系,他们只是通过谷歌的轰炸达到了顶峰。哇,我没有意识到这一点。我的错。谢谢你的提示,从现在起我会记住的。谢谢大家。我已经投票或接受了所有答案。对W3学校的评论也投了赞成票-谢谢大家。我已经投票或接受了所有答案。对W3学校的评论也投了赞成票-