2012-12-19 28 views
7

Tôi đang cố gắng để chuyển đổi biểu thức sau đây để "mới biểu thức chính quy()" phong cách:mới biểu thức chính quy không hoạt động

http://jsfiddle.net/HDWBZ/

var Wyrazenie = /\btest[a-z]*/g; 

Tôi thực sự bối rối với nó và không có ý tưởng như thế nào để sửa chữa nó. Dưới đây là những gì tôi đã làm nhưng rõ ràng nó không hoạt động.

var Wyraznie = new RegExp("\btest[a-z]*","g"); 

Cũng có câu hỏi trông như thế nào nếu thay vì "thử nghiệm" tôi sẽ sử dụng biến?

+0

Xin hỏi chỉ có một câu hỏi cùng một lúc. Tạo một câu hỏi SO riêng biệt cho mỗi câu hỏi riêng biệt (âm thanh hợp lý, phải không?). –

Trả lời

9

Bạn nên sử dụng này để thay thế ...

new RegExp("\\btest[a-z]*", "g"); 

... như \b sẽ được nội suy thành một (slashless) ký tự đơn khi phân tích cú pháp JavaScript hoạt động thông qua các chuỗi tương ứng chữ. Giải pháp là để thoát khỏi chính nó.

DEMO:http://jsfiddle.net/HDWBZ/1/

+0

@ raina77ow Cảm ơn bạn đã chỉnh sửa. Bạn forestalled tôi :) – VisioN

+0

cảm ơn bạn, hoạt động hoàn hảo! Liên quan đến phần thứ hai: RegExp mới ("\\ b" + test + "[a-z] *", "g") ;, trong đó kiểm tra biến là –

+0

@ mik.ro Chính xác như vậy. – VisioN

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