2011-08-11 25 views
6

Vui lòng xem mã này. Tại sao tạo biểu thức chính quy giống nhau theo các cách khác nhau (bằng cách /regex/ chữ và qua Hàm tạo của RegExp) gây ra kết quả khác? Tại sao mẫu thứ hai không khớp với khoảng trắng trong str?Khoảng trống đối sánh trong regexp Javascript theo đối tượng, được tạo thông qua hàm tạo 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" 

Không thể tìm câu trả lời cho câu hỏi của tôi ở bất kỳ đâu. Cảm ơn

Trả lời

18

Bạn cần phải thoát khỏi dấu chéo ngược vì nó trong một chuỗi:

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

Oh, nhờ Sean. Nó hoạt dộng bây giờ. – Andrew

Các vấn đề liên quan