在研究javascript中正则表达式的使用时,可以遇到两种类型的示例:
答:
var regex = /^[a-zA-Z0-9]+$/;B:
var regex = new RegExp ("^[a-zA-Z0-9]*$"); 是否有必要使用var foo = new RegExp**??或者,何时应该选择每一种方法?**
发布于 2013-02-21 19:41:28
当您必须在运行时动态地组装正则表达式时,RegExp()构造函数非常有用。如果表达式是完全静态的,那么使用本机regex语法(您的"A")就更容易了。本机语法的易用性源于这样一个事实,即不必担心引用反斜杠,就像正则表达式以字符串常量开始生命一样。
发布于 2013-02-21 19:42:27
发布于 2013-02-21 19:50:38
下面是一个“动态”正则表达式的示例,您可能需要使用new RegExp。
var search = 'dog',
re = new RegExp('.*' + search + '.*');如果它是一个静态正则表达式,那么文字语法(您的A选项)会更好,因为它更容易编写和读取。
https://stackoverflow.com/questions/15010783
复制相似问题