我刚刚使用Javascript进入正则表达式...而且我似乎已经把自己弄糊涂了......
有些谷歌搜索在那里也没有任何好处...
我知道Javascript语法:
var str = "Hello!"; var x = new RegExp(...); document.write = x.eval(str);
我在这里错过了什么吗?
编辑:显然我不清楚...我是Javascript正则表达式的新手 . 根据我的理解,正则表达式和正则表达式是不同的 . 如果是这样,有什么区别?
有“RegExp类”语法:
var pattern = new RegExp("/[a-z]+/","i");
和“RegExp literal”语法:
var pattern = /[a-z]+/i;
每个都有自己的优点 . 类语法可以处理变量,这样你可以创建动态正则表达式,另一方面文字systax更短,你不必逃避这么多 .
拥有模式后,可以使用一些正则表达式方法,例如:
text.match(pattern); text.replace(pattern,replacement); pattern.exec(text); pattern.test(text);
JavaScript的 RegExp 实例没有 eval 函数,您可能会想到exec或test .
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."); }
Live copy
2 回答
有“RegExp类”语法:
和“RegExp literal”语法:
每个都有自己的优点 . 类语法可以处理变量,这样你可以创建动态正则表达式,另一方面文字systax更短,你不必逃避这么多 .
拥有模式后,可以使用一些正则表达式方法,例如:
JavaScript的
RegExp
实例没有eval
函数,您可能会想到exec或test .例:
Live copy