我对这段小的 JavaScript 代码有些困扰:
var text="Z Test Yeah ! Z";
// With literal syntax, it returns true: good!
alert(/(Z[\s\S]*?Z)/g.test(text));
// But not with the RegExp object O_o
var reg=new RegExp('Z[\s\S]*?Z','g');
alert(reg.test(text));
我不明白为什么字面量语法和RegExp对象给出的结果不同......问题在于我必须使用RegExp对象,因为我之后会有一些变量。
有什么想法吗?
先谢谢 :)
\\
,而在第一种情况下不需要? - Geek\
字符。对于字符串文字,\
用于创建值的转义序列,而在正则表达式中,我们想要转义序列 成为 值。"\n"
创建一个具有换行符值的字符串,而"\\n"
创建一个具有\n
值的字符串。这种区别对于正则表达式模式非常重要。 - zzzzBov