Javascript “RegExp”和regex之间的区别?

Javascript “RegExp”和regex之间的区别?,javascript,regex,Javascript,Regex,我刚开始用Javascript学习正则表达式。。。我似乎一直在困惑自己 到处搜索对我也没有任何好处 我知道以下Javascript语法: var str = "Hello!"; var x = new RegExp(...); document.write = x.eval(str); 我是不是遗漏了什么 编辑:显然我不清楚。。。我不熟悉Javascript正则表达式。根据我的理解,regex和regexp是不同的。如果是这样,有什么区别呢?JavaScript的RegExp实例没有eval函

我刚开始用Javascript学习正则表达式。。。我似乎一直在困惑自己

到处搜索对我也没有任何好处

我知道以下Javascript语法:

var str = "Hello!";
var x = new RegExp(...);
document.write = x.eval(str);
我是不是遗漏了什么

编辑:显然我不清楚。。。我不熟悉Javascript正则表达式。根据我的理解,regex和regexp是不同的。如果是这样,有什么区别呢?

JavaScript的RegExp实例没有eval函数,您可能会想到或

例如:

var rex = /^\d+$/;
//Or  var rex = new RegExp("^\\d+$");
//Note how within quotes you have to escape backslashes

if (rex.test(someValue)) {
  display("Yup, it's all digits");
}
else {
  display("Nope, there are non-digits there or it's blank.");
}

有以下RegExp类语法:

var pattern = new RegExp("/[a-z]+/","i"); 
和RegExp文本语法:

var pattern = /[a-z]+/i;
每个人都有自己的建议。类语法可以处理变量,通过这种方式您可以创建动态正则表达式,另一方面,文本systax更短,并且您不必转义太多

创建模式后,可以使用一些正则表达式方法,例如:

text.match(pattern);
text.replace(pattern,replacement);

pattern.exec(text);
pattern.test(text);

标题与问题的主体有什么关系?Regexp和regex是正则表达式的两个常见缩写。这是混乱的根源吗?@reve_etrange-是的,可能是。。。但我不知道。。。如果我这样做了,我就不用问了……看情况,在Firefox中,他们似乎有;但它当然没有达到人们的预期。@Felix:它不在标准中。所以也许我应该说ECMAScript的RegExp没有它JavaScript仍然是Oracle许可给Mozilla的商标。实际上我只是在开玩笑…:很高兴我们解决了这个问题:D;这对于abc123返回true,因为。。你是说^\d+$吗?