2011-08-11 18 views
6

Por favor, observe este código. ¿Por qué la creación de la misma expresión regular de diferentes maneras (por /regex/ literal ya través de RegExp constructor) causa un resultado diferente? ¿Por qué el segundo patrón no coincide con el espacio en blanco en el str?Coincidencia de espacios en blanco en Javascript regexp por objeto, creado a través del constructor de RegExp

var str = " "; 

var pat1 = /\s/; 
document.writeln(pat1.test(str)); // shows "true" 

var pat2 = new RegExp("\s"); 
document.writeln(pat2.test(str)); // shows "false" 

No se puede encontrar la respuesta a mi pregunta en cualquier lugar. Gracias

Respuesta

18

que necesita para escapar de la barra invertida ya que está en una cadena:

var pat2 = new RegExp("\\s"); 
+0

Oh, gracias a Sean. Ahora funciona. – Andrew

Cuestiones relacionadas